test262/test/suite/ch12/12.6/12.6.4/12.6.4-1.js

37 lines
1.1 KiB
JavaScript

// 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: >
The for-in Statement - a property name must not be visited more
than once in any enumeration.
includes: [runTestCase.js]
---*/
function testcase() {
var obj = { prop1: "abc", prop2: "bbc", prop3: "cnn" };
var countProp1 = 0;
var countProp2 = 0;
var countProp3 = 0;
for (var p in obj) {
if (obj.hasOwnProperty(p)) {
if (p === "prop1") {
countProp1++;
}
if (p === "prop2") {
countProp2++;
}
if (p === "prop3") {
countProp3++;
}
}
}
return countProp1 === 1 && countProp2 === 1 && countProp3 === 1;
}
runTestCase(testcase);