Fix bugs in class-field template and case files

- Correct property access in class fields template
- Remove assertions for properties which aren't present
- Correct expected assertion value for uninitialized class field
- Correct expected property descriptor attributes
- Fix property tests in class-fields/string-literal-names.case
- Pass restore option, otherwise it's not possible to call the method later
- Fix async iteration tests to test iteration result objects
This commit is contained in:
André Bargull 2017-09-01 23:44:52 +02:00
parent c23ea89fe2
commit 13c94180c6
16 changed files with 57 additions and 31 deletions

View File

@ -63,7 +63,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal
assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false);
verifyProperty(c, "not initialized", { verifyProperty(c, "not initialized", {
value: "meep", value: undefined,
enumerable: true, enumerable: true,
writable: true, writable: true,
configurable: true configurable: true

View File

@ -21,10 +21,11 @@ verifyProperty(C.prototype, "m", {
enumerable: false, enumerable: false,
configurable: true, configurable: true,
writable: true, writable: true,
}); }, {restore: true});
/*{ assertions }*/ /*{ assertions }*/
c.m().next().then(function(v) { c.m().next().then(function(v) {
assert.sameValue(v, 42); assert.sameValue(v.value, 42);
assert.sameValue(v.done, true);
}, $DONE).then($DONE, $DONE); }, $DONE).then($DONE, $DONE);

View File

@ -21,7 +21,7 @@ verifyProperty(C.prototype, "m", {
enumerable: false, enumerable: false,
configurable: true, configurable: true,
writable: true, writable: true,
}); }, {restore: true});
/*{ assertions }*/ /*{ assertions }*/

View File

@ -21,10 +21,11 @@ verifyProperty(C, "m", {
enumerable: false, enumerable: false,
configurable: true, configurable: true,
writable: true, writable: true,
}); }, {restore: true});
/*{ assertions }*/ /*{ assertions }*/
C.m().next().then(function(v) { C.m().next().then(function(v) {
assert.sameValue(v, 42); assert.sameValue(v.value, 42);
assert.sameValue(v.done, true);
}, $DONE).then($DONE, $DONE); }, $DONE).then($DONE, $DONE);

View File

@ -21,7 +21,7 @@ verifyProperty(C, "m", {
enumerable: false, enumerable: false,
configurable: true, configurable: true,
writable: true, writable: true,
}); }, {restore: true});
/*{ assertions }*/ /*{ assertions }*/

View File

@ -43,7 +43,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
verifyProperty(c, "foo", { verifyProperty(c, "foo", {
value: "foobar", value: "foobar",
enumerable: false, enumerable: true,
configurable: true, configurable: true,
writable: true, writable: true,
}); });
@ -54,7 +54,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
verifyProperty(c, "bar", { verifyProperty(c, "bar", {
value: "barbaz", value: "barbaz",
enumerable: false, enumerable: true,
configurable: true, configurable: true,
writable: true, writable: true,
}); });

View File

@ -15,17 +15,13 @@ class C {
var c = new C(); var c = new C();
assert.sameValue(c.m(), 42);
assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
assert.sameValue(c.m, C.prototype.m);
assert.sameValue(c.foo, "foobar"); assert.sameValue(c.foo, "foobar");
assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
verifyProperty(c, "foo", { verifyProperty(c, "foo", {
value: "foobar", value: "foobar",
enumerable: false, enumerable: true,
configurable: true, configurable: true,
writable: true, writable: true,
}); });
@ -36,7 +32,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
verifyProperty(c, "bar", { verifyProperty(c, "bar", {
value: "barbaz", value: "barbaz",
enumerable: false, enumerable: true,
configurable: true, configurable: true,
writable: true, writable: true,
}); });

View File

@ -14,7 +14,7 @@ class C {
var c = new C(); var c = new C();
assert.sameValue(c.g().next().value, 42); assert.sameValue(c.m().next().value, 42);
assert.sameValue(c.m, C.prototype.m); assert.sameValue(c.m, C.prototype.m);
assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);

View File

@ -21,10 +21,11 @@ verifyProperty(C.prototype, "m", {
enumerable: false, enumerable: false,
configurable: true, configurable: true,
writable: true, writable: true,
}); }, {restore: true});
/*{ assertions }*/ /*{ assertions }*/
c.m().next().then(function(v) { c.m().next().then(function(v) {
assert.sameValue(v, 42); assert.sameValue(v.value, 42);
assert.sameValue(v.done, true);
}, $DONE).then($DONE, $DONE); }, $DONE).then($DONE, $DONE);

View File

@ -21,7 +21,7 @@ verifyProperty(C.prototype, "m", {
enumerable: false, enumerable: false,
configurable: true, configurable: true,
writable: true, writable: true,
}); }, {restore: true});
/*{ assertions }*/ /*{ assertions }*/

View File

@ -21,10 +21,11 @@ verifyProperty(C, "m", {
enumerable: false, enumerable: false,
configurable: true, configurable: true,
writable: true, writable: true,
}); }, {restore: true});
/*{ assertions }*/ /*{ assertions }*/
C.m().next().then(function(v) { C.m().next().then(function(v) {
assert.sameValue(v, 42); assert.sameValue(v.value, 42);
assert.sameValue(v.done, true);
}, $DONE).then($DONE, $DONE); }, $DONE).then($DONE, $DONE);

View File

@ -21,7 +21,7 @@ verifyProperty(C, "m", {
enumerable: false, enumerable: false,
configurable: true, configurable: true,
writable: true, writable: true,
}); }, {restore: true});
/*{ assertions }*/ /*{ assertions }*/

View File

@ -43,7 +43,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
verifyProperty(c, "foo", { verifyProperty(c, "foo", {
value: "foobar", value: "foobar",
enumerable: false, enumerable: true,
configurable: true, configurable: true,
writable: true, writable: true,
}); });
@ -54,7 +54,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
verifyProperty(c, "bar", { verifyProperty(c, "bar", {
value: "barbaz", value: "barbaz",
enumerable: false, enumerable: true,
configurable: true, configurable: true,
writable: true, writable: true,
}); });

View File

@ -15,17 +15,13 @@ var C = class {
var c = new C(); var c = new C();
assert.sameValue(c.m(), 42);
assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);
assert.sameValue(c.m, C.prototype.m);
assert.sameValue(c.foo, "foobar"); assert.sameValue(c.foo, "foobar");
assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false);
assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false);
verifyProperty(c, "foo", { verifyProperty(c, "foo", {
value: "foobar", value: "foobar",
enumerable: false, enumerable: true,
configurable: true, configurable: true,
writable: true, writable: true,
}); });
@ -36,7 +32,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false);
verifyProperty(c, "bar", { verifyProperty(c, "bar", {
value: "barbaz", value: "barbaz",
enumerable: false, enumerable: true,
configurable: true, configurable: true,
writable: true, writable: true,
}); });

View File

@ -14,7 +14,7 @@ var C = class {
var c = new C(); var c = new C();
assert.sameValue(c.g().next().value, 42); assert.sameValue(c.m().next().value, 42);
assert.sameValue(c.m, C.prototype.m); assert.sameValue(c.m, C.prototype.m);
assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false);

View File

@ -26,6 +26,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false);
assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false);
verifyProperty(c, "a", { verifyProperty(c, "a", {
value: undefined,
enumerable: true,
writable: true,
configurable: true
});
assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false);
assert.sameValue(Object.hasOwnProperty.call(C, "b"), false);
verifyProperty(c, "b", {
value: undefined,
enumerable: true,
writable: true,
configurable: true
});
assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false);
assert.sameValue(Object.hasOwnProperty.call(C, "c"), false);
verifyProperty(c, "c", {
value: 39,
enumerable: true,
writable: true,
configurable: true
});
assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false);
assert.sameValue(Object.hasOwnProperty.call(C, "d"), false);
verifyProperty(c, "d", {
value: 42, value: 42,
enumerable: true, enumerable: true,
writable: true, writable: true,