add more asserts to let scoping exec tests
This commit is contained in:
parent
045fb3e3d8
commit
74c8c3792c
@ -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/);
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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 ]
|
||||
]);
|
||||
|
||||
@ -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]());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user