Skip to content

Commit

Permalink
Merge branch 'main' into regexp-modifiers
Browse files Browse the repository at this point in the history
  • Loading branch information
ptomato authored Mar 7, 2024
2 parents f42c935 + 9e03c40 commit d438696
Show file tree
Hide file tree
Showing 948 changed files with 7,299 additions and 4,246 deletions.
4 changes: 4 additions & 0 deletions features.txt
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,10 @@ String.prototype.toWellFormed
# https://github.com/tc39/proposal-json-parse-with-source
json-parse-with-source

# Regular expression modifiers
# https://github.com/tc39/proposal-regexp-modifiers
regexp-modifiers

# Iterator Helpers
# https://github.com/tc39/proposal-iterator-helpers
iterator-helpers
Expand Down
8 changes: 5 additions & 3 deletions test/built-ins/Object/assign/assign-descriptor.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ includes: [propertyHelper.js]
es6id: 19.1.2.1
---*/

verifyWritable(Object, "assign");
verifyNotEnumerable(Object, "assign");
verifyConfigurable(Object, "assign");
verifyProperty(Object, "assign", {
writable: true,
enumerable: false,
configurable: true,
});
13 changes: 6 additions & 7 deletions test/built-ins/Object/assign/assign-length.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ info: |
includes: [propertyHelper.js]
---*/

assert.sameValue(
Object.assign.length, 2, "The length property of the assign method should be 2."
);

verifyNotEnumerable(Object.assign, 'length');
verifyNotWritable(Object.assign, 'length');
verifyConfigurable(Object.assign, 'length');
verifyProperty(Object.assign, "length", {
value: 2,
writable: false,
enumerable: false,
configurable: true,
});
15 changes: 6 additions & 9 deletions test/built-ins/Object/assign/name.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,9 @@ info: |
includes: [propertyHelper.js]
---*/

assert.sameValue(
Object.assign.name,
'assign',
'The value of `Object.assign.name` is `"assign"`'
);

verifyNotEnumerable(Object.assign, 'name');
verifyNotWritable(Object.assign, 'name');
verifyConfigurable(Object.assign, 'name');
verifyProperty(Object.assign, "name", {
value: "assign",
writable: false,
enumerable: false,
configurable: true,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-100.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"), "expected newObj to have 'prop'");
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-101.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-103.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@ var newObj = Object.create({}, {
prop: descObj
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-104.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@ var newObj = Object.create({}, {
prop: descObj
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-107.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@ var newObj = Object.create({}, {
prop: descObj
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-108.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,6 @@ var newObj = Object.create({}, {
prop: descObj
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-109.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@ var newObj = Object.create({}, {
prop: descObj
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-110.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@ var newObj = Object.create({}, {
prop: descObj
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-111.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,6 @@ var newObj = Object.create({}, {
prop: descObj
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
6 changes: 3 additions & 3 deletions test/built-ins/Object/create/15.2.3.5-4-125.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ var newObj = Object.create({}, {
}
});


assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-126.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-128.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-129.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
6 changes: 3 additions & 3 deletions test/built-ins/Object/create/15.2.3.5-4-130.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ var newObj = Object.create({}, {
}
});


assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-131.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-132.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-135.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
6 changes: 4 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-179.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,7 @@ var newObj = Object.create({}, {
}
});

assert.sameValue(newObj.prop, 100);
verifyNotWritable(newObj, "prop");
verifyProperty(newObj, "prop", {
value: 100,
writable: false,
});
6 changes: 4 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-188.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,7 @@ var newObj = Object.create({}, {
prop: descObj
});

assert.sameValue(newObj.prop, 100);
verifyNotWritable(newObj, "prop");
verifyProperty(newObj, "prop", {
value: 100,
writable: false,
});
7 changes: 4 additions & 3 deletions test/built-ins/Object/create/15.2.3.5-4-189.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ var newObj = Object.create({}, {
prop: descObj
});

assert(newObj.hasOwnProperty("prop"))
assert.sameValue(typeof(newObj.prop), "undefined");
verifyNotWritable(newObj, "prop");
verifyProperty(newObj, "prop", {
value: undefined,
writable: false,
});
6 changes: 4 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-190.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,7 @@ var newObj = Object.create({}, {
prop: descObj
});

assert.sameValue(newObj.prop, 100);
verifyNotWritable(newObj, "prop");
verifyProperty(newObj, "prop", {
value: 100,
writable: false,
});
7 changes: 4 additions & 3 deletions test/built-ins/Object/create/15.2.3.5-4-204.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
assert.sameValue(typeof newObj.prop, "undefined");
verifyNotWritable(newObj, "prop");
verifyProperty(newObj, "prop", {
value: undefined,
writable: false,
});
7 changes: 4 additions & 3 deletions test/built-ins/Object/create/15.2.3.5-4-205.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
assert.sameValue(typeof newObj.prop, "undefined");
verifyNotWritable(newObj, "prop");
verifyProperty(newObj, "prop", {
value: undefined,
writable: false,
});
7 changes: 4 additions & 3 deletions test/built-ins/Object/create/15.2.3.5-4-207.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
assert.sameValue(typeof newObj.prop, "undefined");
verifyNotWritable(newObj, "prop");
verifyProperty(newObj, "prop", {
value: undefined,
writable: false,
});
7 changes: 4 additions & 3 deletions test/built-ins/Object/create/15.2.3.5-4-208.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
assert.sameValue(typeof newObj.prop, "undefined");
verifyNotWritable(newObj, "prop");
verifyProperty(newObj, "prop", {
value: undefined,
writable: false,
});
7 changes: 4 additions & 3 deletions test/built-ins/Object/create/15.2.3.5-4-209.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
assert.sameValue(typeof newObj.prop, "undefined");
verifyNotWritable(newObj, "prop");
verifyProperty(newObj, "prop", {
value: undefined,
writable: false,
});
7 changes: 4 additions & 3 deletions test/built-ins/Object/create/15.2.3.5-4-210.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"))
assert.sameValue(typeof newObj.prop, "undefined");
verifyNotWritable(newObj, "prop");
verifyProperty(newObj, "prop", {
value: undefined,
writable: false,
});
7 changes: 4 additions & 3 deletions test/built-ins/Object/create/15.2.3.5-4-211.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
assert.sameValue(typeof newObj.prop, "undefined")
verifyNotWritable(newObj, "prop");
verifyProperty(newObj, "prop", {
value: undefined,
writable: false,
});
7 changes: 4 additions & 3 deletions test/built-ins/Object/create/15.2.3.5-4-214.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ var newObj = Object.create({}, {
prop: descObj
});

assert(newObj.hasOwnProperty("prop"))
assert.sameValue(typeof newObj.prop, "undefined");
verifyNotWritable(newObj, "prop");
verifyProperty(newObj, "prop", {
value: undefined,
writable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-307.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
verifyNotWritable(newObj, "prop");
verifyProperty(newObj, "prop", {
writable: false,
});
5 changes: 3 additions & 2 deletions test/built-ins/Object/create/15.2.3.5-4-309.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,6 @@ var newObj = Object.create({}, {
}
});

assert(newObj.hasOwnProperty("prop"));
verifyNotConfigurable(newObj, "prop");
verifyProperty(newObj, "prop", {
configurable: false,
});
20 changes: 6 additions & 14 deletions test/built-ins/Object/create/15.2.3.5-4-311.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ description: >
Object.create - [[Set]] is set as undefined if it is absent in
accessor descriptor of one property in 'Properties' (8.12.9 step
4.b)
includes: [propertyHelper.js]
---*/

var newObj = Object.create({}, {
Expand All @@ -27,19 +28,10 @@ if (newObj.prop === "verifyCreate") {
verifyGet = true;
}

var verifyEnumerable = false;
for (var p in newObj) {
if (p === "prop") {
verifyEnumerable = true;
}
}

var verifyConfigurable = false;
var hasProperty = newObj.hasOwnProperty("prop");
delete newObj.prop;
verifyConfigurable = !newObj.hasOwnProperty("prop") && hasProperty;

assert(verifySet, 'verifySet !== true');
assert(verifyGet, 'verifyGet !== true');
assert(verifyEnumerable, 'verifyEnumerable !== true');
assert(verifyConfigurable, 'verifyConfigurable !== true');

verifyProperty(newObj, "prop", {
enumerable: true,
configurable: true,
});
Loading

0 comments on commit d438696

Please sign in to comment.