Skip to content

Commit

Permalink
Update block-scoping fixtures
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo committed Nov 16, 2022
1 parent 36cd0bb commit e401c35
Show file tree
Hide file tree
Showing 29 changed files with 199 additions and 102 deletions.
@@ -1,7 +1,7 @@
var foo = "foo";
function foobar() {
for (var item of [1, 2, 3]) {
var _foo = "bar";
[bar, _foo] = [1, 2];
var foo = "bar";
[bar, foo] = [1, 2];
}
}
@@ -0,0 +1,36 @@
function* a() {
do {
let x = yield "iteration";
var fn = () => x;
} while (false);
return fn;
}

async function b() {
do {
let x = await "iteration";
var fn = () => x;
} while (false);
return fn;
}

async function* c() {
do {
let x = yield "iteration";
var fn = () => x;
} while (false);
return fn;
}

return (async () => {
let it = a();
expect(it.next().value).toBe("iteration");
expect(it.next("foo").value()).toBe("foo");

expect((await b())()).toBe("iteration");

it = c();
expect((await it.next()).value).toBe("iteration");
expect((await it.next("foo")).value()).toBe("foo");
})();

@@ -0,0 +1,23 @@
function* a() {
do {
let x = yield "iteration";
var fn = () => x;
} while (false);
return fn;
}

async function b() {
do {
let x = await "iteration";
var fn = () => x;
} while (false);
return fn;
}

async function* c() {
do {
let x = yield "iteration";
var fn = () => x;
} while (false);
return fn;
}
@@ -0,0 +1,5 @@
{
"parserOpts": {
"allowReturnOutsideFunction": true
}
}
@@ -0,0 +1,39 @@
function* a() {
var _loop = function* () {
var x = yield "iteration";
fn = function () {
return x;
};
};
do {
var fn;
yield* _loop();
} while (false);
return fn;
}
async function b() {
var _loop2 = async function () {
var x = await "iteration";
fn = function () {
return x;
};
};
do {
var fn;
await _loop2();
} while (false);
return fn;
}
async function* c() {
var _loop3 = async function* () {
var x = yield "iteration";
fn = function () {
return x;
};
};
do {
var fn;
yield* _loop3();
} while (false);
return fn;
}
@@ -1,21 +1,21 @@
for (var a of [1]) {
var _loop = function () {
switch (true) {
case true:
{
var _ret = function () {
var b = 1;
(function () {
return b;
});
if (true) return "break";
return "continue";
}();
if (_ret === "break") break;
if (_ret === "continue") continue;
var b = 1;
(function () {
return b;
});
if (true) break;
return "continue";
}
case false:
{
throw new Error("unreachable");
}
}
};
for (var a of [1]) {
var _ret = _loop();
if (_ret === "continue") continue;
}
@@ -1,9 +1,9 @@
var _loop = function (i) {
var _loop = function () {
var l = i;
setTimeout(function () {
console.log(l);
}, 1);
};
for (var i = 0; i < 5; i++) {
_loop(i);
_loop();
}
Expand Up @@ -14,8 +14,7 @@ var _iterator = babelHelpers.createForOfIteratorHelper(nums),
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var i = _step.value;
var x;
var f;
var x, f;
_loop(i);
}
} catch (err) {
Expand Down
@@ -1,14 +1,12 @@
if (true) {
var _run = /*#__PURE__*/babelHelpers.regeneratorRuntime().mark(function _callee() {
return babelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
return _context.abrupt("return", true);
case 1:
case "end":
return _context.stop();
}
while (1) switch (_context.prev = _context.next) {
case 0:
return _context.abrupt("return", true);
case 1:
case "end":
return _context.stop();
}
}, _callee);
});
Expand Down
Expand Up @@ -34,5 +34,5 @@ return transformAsync(code, {
// The body should be wrapped into closure
expect(forOfPath.get("body").scope.bindings).toEqual({});

expect(Object.keys(functionPath.scope.bindings)).toEqual(["foo", "bar", "qux", "quux"]);
expect(Object.keys(functionPath.scope.bindings)).toEqual(["foo", "qux", "quux"]);
});
@@ -1,5 +1,5 @@
var _excluded = ["foo"];
var _loop = function (foo, bar) {
var _loop = function (foo) {
() => foo;
var [qux] = bar;
try {} catch (e) {
Expand All @@ -11,5 +11,5 @@ for (var _ref of {}) {
foo
} = _ref,
bar = babelHelpers.objectWithoutPropertiesLoose(_ref, _excluded);
_loop(foo, bar);
_loop(foo);
}
@@ -1,17 +1,18 @@
foo.func1 = function () {
if (cond1) {
for (;;) {
var _loop = function () {
if (cond2) {
var _ret = function () {
function func2() {}
function func3() {}
func4(function () {
func2();
});
return "break";
}();
if (_ret === "break") break;
var func2 = function () {};
var func3 = function () {};
func4(function () {
func2();
});
return "break";
}
};
for (;;) {
var _ret = _loop();
if (_ret === "break") break;
}
}
};
@@ -1,7 +1,7 @@
function WithoutCurlyBraces() {
var _this = this;
if (true) {
var _loop = function (k) {
var _loop = function () {
function foo() {
return this;
}
Expand All @@ -11,14 +11,14 @@ function WithoutCurlyBraces() {
console.log(_this, k); // => undefined
};
for (var k in kv) {
_loop(k);
_loop();
}
}
}
function WithCurlyBraces() {
var _this2 = this;
if (true) {
var _loop2 = function (k) {
var _loop2 = function () {
function foo() {
return this;
}
Expand All @@ -28,7 +28,7 @@ function WithCurlyBraces() {
console.log(_this2, k); // => 777
};
for (var k in kv) {
_loop2(k);
_loop2();
}
}
}
@@ -1,9 +1,8 @@
var _loop = function (_result) {
_result = otherValue;
var _loop = function (result) {
result = otherValue;
fn(() => {
_result;
result;
});
result = _result;
};
var _iterator = babelHelpers.createForOfIteratorHelper(results),
_step;
Expand Down
@@ -1,9 +1,8 @@
var _loop = function (_result) {
_result = otherValue;
var _loop = function (result) {
result = otherValue;
fn(() => {
_result;
result;
});
result = _result;
};
for (var _iterator = babelHelpers.createForOfIteratorHelperLoose(results), _step; !(_step = _iterator()).done;) {
var result = _step.value;
Expand Down
@@ -1,8 +1,8 @@
var arr = [];
for (var i = 0; i < 10; i++) {
var _loop = function (_i) {
var _loop = function (i) {
arr.push(function () {
return _i;
return i;
});
};
for (var _i = 0; _i < 10; _i++) {
Expand Down
Expand Up @@ -11,15 +11,16 @@ function foo() {
function bar() {
var x = 5;
console.log(x);
for (var i = 0; i < 7; i++) {
var _loop = function () {
{
(function () {
var x = i;
setTimeout(function () {
return x;
}, 0);
})();
var x = i;
setTimeout(function () {
return x;
}, 0);
}
};
for (var i = 0; i < 7; i++) {
_loop();
}
}
function baz() {
Expand Down
@@ -1,24 +1,24 @@
function foo() {
while (true) {
var _loop = function () {
switch (2) {
case 0:
{
var _ret = function () {
if (true) {
return {
v: void 0
};
}
var stuff = new Map();
var data = 0;
stuff.forEach(function () {
var d = data;
});
return "break";
}();
if (_ret === "break") break;
if (typeof _ret === "object") return _ret.v;
if (true) {
return {
v: void 0
};
}
var stuff = new Map();
var data = 0;
stuff.forEach(function () {
var d = data;
});
break;
}
}
};
while (true) {
var _ret = _loop();
if (typeof _ret === "object") return _ret.v;
}
}

0 comments on commit e401c35

Please sign in to comment.