diff options
Diffstat (limited to 'test/suite/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js')
-rw-r--r-- | test/suite/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js | 76 |
1 files changed, 39 insertions, 37 deletions
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js index c37394d4e..13acf9006 100644 --- a/test/suite/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js +++ b/test/suite/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js @@ -1,37 +1,39 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js
- * @description Array.prototype.map - k values are accessed during each iteration and not prior to starting the loop.
- */
-
-
-function testcase() {
-
- var kIndex = [];
-
- //By below way, we could verify that k would be setted as 0, 1, ..., length - 1 in order, and each value will be setted one time.
- function callbackfn(val, idx, obj) {
- //Each position should be visited one time, which means k is accessed one time during iterations.
- if (typeof kIndex[idx] === "undefined") {
- //when current position is visited, its previous index should has been visited.
- if (idx !== 0 && typeof kIndex[idx - 1] === "undefined") {
- return true;
- }
- kIndex[idx] = 1;
- return false;
- } else {
- return true;
- }
- }
-
- var testResult = [11, 12, 13, 14].map(callbackfn);
-
- return testResult.length === 4 && testResult[0] === false &&
- testResult[1] === false && testResult[2] === false &&
- testResult[3] === false;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + Array.prototype.map - k values are accessed during each iteration + and not prior to starting the loop. +includes: [runTestCase.js] +---*/ + +function testcase() { + + var kIndex = []; + + //By below way, we could verify that k would be setted as 0, 1, ..., length - 1 in order, and each value will be setted one time. + function callbackfn(val, idx, obj) { + //Each position should be visited one time, which means k is accessed one time during iterations. + if (typeof kIndex[idx] === "undefined") { + //when current position is visited, its previous index should has been visited. + if (idx !== 0 && typeof kIndex[idx - 1] === "undefined") { + return true; + } + kIndex[idx] = 1; + return false; + } else { + return true; + } + } + + var testResult = [11, 12, 13, 14].map(callbackfn); + + return testResult.length === 4 && testResult[0] === false && + testResult[1] === false && testResult[2] === false && + testResult[3] === false; + } +runTestCase(testcase); |