add more asserts to let scoping exec tests

This commit is contained in:
Sebastian McKenzie 2014-10-15 15:34:41 +11:00
parent 045fb3e3d8
commit 74c8c3792c
4 changed files with 31 additions and 12 deletions

View File

@ -4,5 +4,9 @@ var a = 'var a';
{
var c = 'var c';
let d = 'let d';
assert.equal(d, 'let d');
}
assert.throws(function () {
d;
}, /d is not defined/);
}

View File

@ -5,10 +5,9 @@ var result;
for (var index in let_array) {
let let_index = index;
let let_value = let_array[let_index];
let_result.push(
function() {
return [let_index, let_value];
});
let_result.push(function() {
return [let_index, let_value];
});
}
result = let_result;
}

View File

@ -3,8 +3,24 @@ var result;
let let_x = 'let x';
let let_l = [];
for (var var_x = 1, var_y = 2, var_z = 3; var_x < 10; var_x ++) {
let l_x = var_x, l_y = var_y, l_z = var_z;
let_l.push( function() { return [ l_x, l_y, l_z ]; } );
let l_x = var_x, l_y = var_y, l_z = var_z;
let_l.push(function() {
return [l_x, l_y, l_z];
});
}
result = let_l;
}
assert.deepEqual(result.map(function (fn) {
return fn();
}), [
[ 1, 2, 3 ],
[ 2, 2, 3 ],
[ 3, 2, 3 ],
[ 4, 2, 3 ],
[ 5, 2, 3 ],
[ 6, 2, 3 ],
[ 7, 2, 3 ],
[ 8, 2, 3 ],
[ 9, 2, 3 ]
]);

View File

@ -13,9 +13,9 @@ function letInClosure(n) {
}
var result = letInClosure(10);
assert.deepEqual(1, result[0]());
assert.deepEqual(2, result[1]());
assert.deepEqual(4, result[2]());
assert.deepEqual(5, result[3]());
assert.deepEqual(7, result[4]());
assert.deepEqual(8, result[5]());
assert.equal(1, result[0]());
assert.equal(2, result[1]());
assert.equal(4, result[2]());
assert.equal(5, result[3]());
assert.equal(7, result[4]());
assert.equal(8, result[5]());