Changeset 259529 in webkit


Ignore:
Timestamp:
Apr 3, 2020 11:13:29 PM (4 years ago)
Author:
Alexey Shvayka
Message:

Update test262 to commit 62b8fce38971
https://bugs.webkit.org/show_bug.cgi?id=209979

Reviewed by Ross Kirsling.

  • .gitattributes: Added.
  • test262/config.yaml: Skip "logical-assignment-operators" and "Promise.any" features.
  • test262/expectations.yaml:
  • test262/harness/*: Updated.
  • test262/latest-changes-summary.txt:
  • test262/test/*: Updated.
  • test262/test262-Revision.txt:
Location:
trunk/JSTests
Files:
139 added
8 deleted
16 edited
4 moved

Legend:

Unmodified
Added
Removed
  • trunk/JSTests/ChangeLog

    r259481 r259529  
     12020-04-03  Alexey Shvayka  <shvaikalesh@gmail.com>
     2
     3        Update test262 to commit 62b8fce38971
     4        https://bugs.webkit.org/show_bug.cgi?id=209979
     5
     6        Reviewed by Ross Kirsling.
     7
     8        * .gitattributes: Added.
     9        * test262/config.yaml: Skip "logical-assignment-operators" and "Promise.any" features.
     10        * test262/expectations.yaml:
     11        * test262/harness/*: Updated.
     12        * test262/latest-changes-summary.txt:
     13        * test262/test/*: Updated.
     14        * test262/test262-Revision.txt:
     15
    1162020-04-03  Yusuke Suzuki  <ysuzuki@apple.com>
    217
  • trunk/JSTests/test262/config.yaml

    r259370 r259529  
    1818    - class-static-methods-private
    1919    - host-gc-required
     20    # https://bugs.webkit.org/show_bug.cgi?id=202475
    2021    - regexp-match-indices
    2122    - top-level-await
     23    # https://bugs.webkit.org/show_bug.cgi?id=209716
     24    - logical-assignment-operators
     25    # https://bugs.webkit.org/show_bug.cgi?id=202566
     26    - Promise.any
    2227    - AggregateError
    2328    - FinalizationRegistry
     
    154159    # https://bugs.webkit.org/show_bug.cgi?id=208639
    155160    - test/built-ins/Array/prototype/lastIndexOf/length-near-integer-limit.js
    156 
    157     # https://bugs.webkit.org/show_bug.cgi?id=143511
    158     - test/built-ins/JSON/stringify/replacer-function-stack-overflow.js
    159     - test/built-ins/JSON/stringify/value-tojson-stack-overflow.js
  • trunk/JSTests/test262/expectations.yaml

    r259444 r259529  
    610610test/annexB/language/global-code/switch-dflt-global-skip-early-err.js:
    611611  default: "SyntaxError: Cannot declare a function that shadows a let/const/class/function variable 'f' in strict mode."
     612test/annexB/language/literals/regexp/legacy-octal-escape.js:
     613  default: "TypeError: null is not an object (evaluating '/\\0111/.exec('\\x091')[0]')"
     614  strict mode: "TypeError: null is not an object (evaluating '/\\0111/.exec('\\x091')[0]')"
    612615test/annexB/language/statements/for-of/iterator-close-return-emulates-undefined-throws-when-called.js:
    613616  default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
     
    12201223  default: 'Test262Error: Expected a TypeError but got a TypeError'
    12211224  strict mode: 'Test262Error: Expected a TypeError but got a TypeError'
     1225test/built-ins/Proxy/create-handler-is-revoked-proxy.js:
     1226  default: "TypeError: A Proxy's 'handler' shouldn't be a revoked Proxy"
     1227  strict mode: "TypeError: A Proxy's 'handler' shouldn't be a revoked Proxy"
     1228test/built-ins/Proxy/create-target-is-revoked-function-proxy.js:
     1229  default: "TypeError: A Proxy's 'target' shouldn't be a revoked Proxy"
     1230  strict mode: "TypeError: A Proxy's 'target' shouldn't be a revoked Proxy"
     1231test/built-ins/Proxy/create-target-is-revoked-proxy.js:
     1232  default: "TypeError: A Proxy's 'target' shouldn't be a revoked Proxy"
     1233  strict mode: "TypeError: A Proxy's 'target' shouldn't be a revoked Proxy"
    12221234test/built-ins/Proxy/defineProperty/trap-is-undefined-target-is-proxy.js:
    12231235  default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
     
    12351247  default: 'Test262Error: Expected [length, foo, 0, Symbol()] and [Symbol(), length, foo, 0] to have the same contents. '
    12361248  strict mode: 'Test262Error: Expected [length, foo, 0, Symbol()] and [Symbol(), length, foo, 0] to have the same contents. '
     1249test/built-ins/Proxy/set/trap-is-missing-receiver-multiple-calls-index.js:
     1250  default: 'Test262Error: Expected [0] and [0, 0, 0] to have the same contents. getOwnPropertyDescriptor: key present on [[ProxyTarget]]'
     1251  strict mode: 'TypeError: Attempted to assign to readonly property.'
     1252test/built-ins/Proxy/set/trap-is-missing-receiver-multiple-calls.js:
     1253  default: 'Test262Error: Expected [foo] and [foo, foo, foo] to have the same contents. getOwnPropertyDescriptor: key present on [[ProxyTarget]]'
     1254  strict mode: 'TypeError: Attempted to assign to readonly property.'
    12371255test/built-ins/Proxy/set/trap-is-missing-target-is-proxy.js:
    12381256  default: 'Test262Error: Expected SameValue(«0», «1») to be true'
     
    19271945  default: 'Test262Error: Expected [localeMatcher, hour12] and [localeMatcher, calendar, numberingSystem, hour12] to have the same contents. '
    19281946  strict mode: 'Test262Error: Expected [localeMatcher, hour12] and [localeMatcher, calendar, numberingSystem, hour12] to have the same contents. '
    1929 test/intl402/DateTimeFormat/invalid-numbering-system-calendar-options.js:
    1930   default: 'Test262Error: Invalid numberingSystem value ab was not rejected. Expected a RangeError to be thrown but no exception was thrown at all'
    1931   strict mode: 'Test262Error: Invalid numberingSystem value ab was not rejected. Expected a RangeError to be thrown but no exception was thrown at all'
     1947test/intl402/DateTimeFormat/constructor-options-calendar-invalid.js:
     1948  default: 'Test262Error: new Intl.DateTimeFormat("en", {calendar: ""}) throws RangeError Expected a RangeError to be thrown but no exception was thrown at all'
     1949  strict mode: 'Test262Error: new Intl.DateTimeFormat("en", {calendar: ""}) throws RangeError Expected a RangeError to be thrown but no exception was thrown at all'
     1950test/intl402/DateTimeFormat/constructor-options-numberingSystem-invalid.js:
     1951  default: 'Test262Error: new Intl.DateTimeFormat("en", {numberingSystem: ""}) throws RangeError Expected a RangeError to be thrown but no exception was thrown at all'
     1952  strict mode: 'Test262Error: new Intl.DateTimeFormat("en", {numberingSystem: ""}) throws RangeError Expected a RangeError to be thrown but no exception was thrown at all'
    19321953test/intl402/DateTimeFormat/numbering-system-calendar-options.js:
    19331954  default: "Test262Error: Options value for property numberingSystem doesn't override locale extension key nu. Expected SameValue(«arab», «latn») to be true"
     
    19721993  default: 'Test262Error: Expected [localeMatcher, style] and [localeMatcher, numberingSystem, style] to have the same contents. '
    19731994  strict mode: 'Test262Error: Expected [localeMatcher, style] and [localeMatcher, numberingSystem, style] to have the same contents. '
     1995test/intl402/NumberFormat/constructor-options-numberingSystem-invalid.js:
     1996  default: 'Test262Error: new Intl.NumberFormat("en", {numberingSystem: ""}) throws RangeError Expected a RangeError to be thrown but no exception was thrown at all'
     1997  strict mode: 'Test262Error: new Intl.NumberFormat("en", {numberingSystem: ""}) throws RangeError Expected a RangeError to be thrown but no exception was thrown at all'
    19741998test/intl402/NumberFormat/constructor-options-throwing-getters.js:
    19751999  default: 'Test262Error: Exception from numberingSystem getter should be propagated Expected a CustomError to be thrown but no exception was thrown at all'
    19762000  strict mode: 'Test262Error: Exception from numberingSystem getter should be propagated Expected a CustomError to be thrown but no exception was thrown at all'
    1977 test/intl402/NumberFormat/invalid-numbering-system-options.js:
    1978   default: 'Test262Error: Invalid numberingSystem value ab was not rejected. Expected a RangeError to be thrown but no exception was thrown at all'
    1979   strict mode: 'Test262Error: Invalid numberingSystem value ab was not rejected. Expected a RangeError to be thrown but no exception was thrown at all'
    19802001test/intl402/NumberFormat/numbering-system-options.js:
    19812002  default: "Test262Error: Options value for property numberingSystem doesn't override locale extension key nu. Expected SameValue(«arab», «latn») to be true"
     
    21292150test/language/block-scope/syntax/redeclaration/var-redeclaration-attempt-after-generator.js:
    21302151  default: 'Test262: This statement should not be evaluated.'
    2131 test/language/eval-code/direct/new.target-arrow.js:
    2132   default: 'Test262Error: Expected SameValue(«function ReferenceError() {'
    2133   strict mode: 'Test262Error: Expected SameValue(«function ReferenceError() {'
    21342152test/language/eval-code/direct/non-definable-function-with-function.js:
    21352153  default: 'Test262Error: Expected SameValue(«[object Object]», «undefined») to be true'
     
    32083226  default: 'Test262Error: Expected SameValue(«�», «null») to be true'
    32093227  strict mode: 'Test262Error: Expected SameValue(«�», «null») to be true'
     3228test/language/literals/string/unicode-escape-no-hex-err-double.js:
     3229  default: 'Test262: This statement should not be evaluated.'
     3230  strict mode: 'Test262: This statement should not be evaluated.'
     3231test/language/literals/string/unicode-escape-no-hex-err-single.js:
     3232  default: 'Test262: This statement should not be evaluated.'
     3233  strict mode: 'Test262: This statement should not be evaluated.'
    32103234test/language/module-code/eval-rqstd-once.js:
    32113235  module: "SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
     
    36123636  default: 'Test262: This statement should not be evaluated.'
    36133637  strict mode: 'Test262: This statement should not be evaluated.'
     3638test/language/statements/for-of/iterator-close-throw-get-method-abrupt.js:
     3639  default: 'Test262Error: Expected a Test262Error but got a Object'
     3640  strict mode: 'Test262Error: Expected a Test262Error but got a Object'
    36143641test/language/statements/for-of/let-array-with-newline.js:
    36153642  default: 'Test262: This statement should not be evaluated.'
  • trunk/JSTests/test262/harness/async-gc.js

    r257590 r259529  
    2222
    2323  return Promise.resolve('tick').then(() => asyncGCDeref()).then(() => {
    24     var names;
     24    var names = [];
    2525
    2626    // consume iterator to capture names
    27     finalizationRegistry.cleanupSome(iter => { names = [...iter]; });
     27    finalizationRegistry.cleanupSome(name => { names.push(name); });
    2828
    2929    if (!names || names.length != length) {
  • trunk/JSTests/test262/latest-changes-summary.txt

    r259032 r259529  
    1 M harness/assert.js
    2 M harness/propertyHelper.js
    3 D test/built-ins/JSON/stringify/replacer-function-stack-overflow.js
    4 D test/built-ins/JSON/stringify/value-tojson-stack-overflow.js
    5 A test/built-ins/NativeErrors/AggregateError/newtarget-is-undefined.js
    6 M test/built-ins/RegExp/prototype/Symbol.replace/poisoned-stdlib.js
    7 M test/harness/assert-samevalue-zeros.js
    8 A test/language/expressions/class/elements/private-field-after-optional-chain.js
    9 A test/language/statements/class/elements/private-field-after-optional-chain.js
     1M harness/async-gc.js
     2M test/annexB/language/literals/regexp/legacy-octal-escape.js
     3D test/built-ins/AsyncFromSyncIteratorPrototype/.DS_Store
     4D test/built-ins/AsyncFromSyncIteratorPrototype/next/.DS_Store
     5A test/built-ins/AsyncFromSyncIteratorPrototype/next/absent-value-not-passed.js
     6A test/built-ins/AsyncFromSyncIteratorPrototype/return/absent-value-not-passed.js
     7A test/built-ins/AsyncFromSyncIteratorPrototype/throw/absent-value-not-passed.js
     8D test/built-ins/FinalizationRegistry/FinalizationRegistryCleanupIteratorPrototype/Symbol.toStringTag.js
     9D test/built-ins/FinalizationRegistry/FinalizationRegistryCleanupIteratorPrototype/next-job-not-active-throws.js
     10D test/built-ins/FinalizationRegistry/FinalizationRegistryCleanupIteratorPrototype/next-length.js
     11D test/built-ins/FinalizationRegistry/FinalizationRegistryCleanupIteratorPrototype/next-missing-internal-throws.js
     12D test/built-ins/FinalizationRegistry/FinalizationRegistryCleanupIteratorPrototype/next-name.js
     13D test/built-ins/FinalizationRegistry/FinalizationRegistryCleanupIteratorPrototype/next-not-object-throws.js
     14D test/built-ins/FinalizationRegistry/FinalizationRegistryCleanupIteratorPrototype/next-prop-desc.js
     15D test/built-ins/FinalizationRegistry/FinalizationRegistryCleanupIteratorPrototype/proto.js
     16M test/built-ins/FinalizationRegistry/gc-has-one-chance-to-call-cleanupCallback.js
     17D test/built-ins/FinalizationRegistry/prototype/cleanupSome/callback-iterator-proto.js
     18M test/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-reference.js
     19M test/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-unregister.js
     20D test/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanupcallback-iterator-proto.js
     21R076 test/built-ins/FinalizationRegistry/prototype/cleanupSome/iterator-holdings-multiple-values.js test/built-ins/FinalizationRegistry/prototype/cleanupSome/holdings-multiple-values.js
     22D test/built-ins/FinalizationRegistry/prototype/cleanupSome/poisoned-callback-throws.js
     23R069 test/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-throws-in-callback.js test/built-ins/FinalizationRegistry/prototype/cleanupSome/reentrancy.js
     24M test/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined-with-gc.js
     25M test/built-ins/FinalizationRegistry/prototype/unregister/unregister-cleaned-up-cell.js
     26A test/built-ins/Promise/any/capability-executor-called-twice.js
     27A test/built-ins/Promise/any/capability-executor-not-callable.js
     28A test/built-ins/Promise/any/ctx-ctor-throws.js
     29A test/built-ins/Promise/any/ctx-ctor.js
     30A test/built-ins/Promise/any/ctx-non-ctor.js
     31A test/built-ins/Promise/any/invoke-resolve-error-close.js
     32A test/built-ins/Promise/any/invoke-resolve-error-reject.js
     33A test/built-ins/Promise/any/invoke-resolve-get-error-close.js
     34A test/built-ins/Promise/any/invoke-resolve-get-error-reject.js
     35A test/built-ins/Promise/any/invoke-resolve-get-once-multiple-calls.js
     36A test/built-ins/Promise/any/invoke-resolve-get-once-no-calls.js
     37A test/built-ins/Promise/any/invoke-resolve-not-callable-rejects-with-typerror.js
     38A test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-custom.js
     39A test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-promise.js
     40A test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-custom.js
     41A test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-promise.js
     42A test/built-ins/Promise/any/invoke-resolve.js
     43A test/built-ins/Promise/any/invoke-then-error-close.js
     44A test/built-ins/Promise/any/invoke-then-error-reject.js
     45A test/built-ins/Promise/any/invoke-then-get-error-close.js
     46A test/built-ins/Promise/any/invoke-then-get-error-reject.js
     47A test/built-ins/Promise/any/invoke-then-on-promises-every-iteration.js
     48A test/built-ins/Promise/any/invoke-then.js
     49A test/built-ins/Promise/any/is-function.js
     50A test/built-ins/Promise/any/iter-arg-is-empty-iterable-reject.js
     51A test/built-ins/Promise/any/iter-arg-is-empty-string-reject.js
     52A test/built-ins/Promise/any/iter-arg-is-false-reject.js
     53A test/built-ins/Promise/any/iter-arg-is-null-reject.js
     54A test/built-ins/Promise/any/iter-arg-is-number-reject.js
     55A test/built-ins/Promise/any/iter-arg-is-poisoned.js
     56A test/built-ins/Promise/any/iter-arg-is-string-resolve.js
     57A test/built-ins/Promise/any/iter-arg-is-symbol-reject.js
     58A test/built-ins/Promise/any/iter-arg-is-true-reject.js
     59A test/built-ins/Promise/any/iter-arg-is-undefined-reject.js
     60A test/built-ins/Promise/any/iter-assigned-false-reject.js
     61A test/built-ins/Promise/any/iter-assigned-null-reject.js
     62A test/built-ins/Promise/any/iter-assigned-number-reject.js
     63A test/built-ins/Promise/any/iter-assigned-string-reject.js
     64A test/built-ins/Promise/any/iter-assigned-symbol-reject.js
     65A test/built-ins/Promise/any/iter-assigned-true-reject.js
     66A test/built-ins/Promise/any/iter-assigned-undefined-reject.js
     67A test/built-ins/Promise/any/iter-step-err-no-close.js
     68A test/built-ins/Promise/any/iter-step-err-reject.js
     69A test/built-ins/Promise/any/length.js
     70A test/built-ins/Promise/any/name.js
     71A test/built-ins/Promise/any/new-reject-function.js
     72A test/built-ins/Promise/any/prop-desc.js
     73A test/built-ins/Promise/any/reject-all-mixed.js
     74A test/built-ins/Promise/any/reject-deferred.js
     75A test/built-ins/Promise/any/reject-element-function-extensible.js
     76A test/built-ins/Promise/any/reject-element-function-length.js
     77A test/built-ins/Promise/any/reject-element-function-name.js
     78A test/built-ins/Promise/any/reject-element-function-nonconstructor.js
     79A test/built-ins/Promise/any/reject-element-function-prototype.js
     80A test/built-ins/Promise/any/resolve-from-reject-catch.js
     81A test/built-ins/Promise/any/resolve-from-resolve-reject-catch.js
     82A test/built-ins/Promise/any/resolve-ignores-late-rejection-deferred.js
     83A test/built-ins/Promise/any/resolve-ignores-late-rejection.js
     84A test/built-ins/Promise/any/returns-promise.js
     85M test/built-ins/Proxy/create-handler-is-revoked-proxy.js
     86M test/built-ins/Proxy/create-target-is-not-callable.js
     87A test/built-ins/Proxy/create-target-is-revoked-function-proxy.js
     88M test/built-ins/Proxy/create-target-is-revoked-proxy.js
     89A test/built-ins/Proxy/set/trap-is-missing-receiver-multiple-calls-index.js
     90A test/built-ins/Proxy/set/trap-is-missing-receiver-multiple-calls.js
     91R100 test/built-ins/Proxy/set/trap-is-undefined-receiver.js test/built-ins/Proxy/set/trap-is-null-receiver.js
     92A test/intl402/DateTimeFormat/constructor-options-calendar-invalid.js
     93A test/intl402/DateTimeFormat/constructor-options-numberingSystem-invalid.js
     94D test/intl402/DateTimeFormat/invalid-numbering-system-calendar-options.js
     95A test/intl402/NumberFormat/constructor-options-numberingSystem-invalid.js
     96D test/intl402/NumberFormat/invalid-numbering-system-options.js
     97M test/intl402/RelativeTimeFormat/constructor/constructor/options-numberingSystem-invalid.js
     98A test/language/expressions/class/elements/grammar-private-field-optional-chaining.js
     99A test/language/expressions/class/elements/static-as-valid-instance-field-assigned.js
     100A test/language/expressions/class/elements/static-as-valid-instance-field.js
     101A test/language/expressions/class/elements/static-as-valid-static-field-assigned.js
     102A test/language/expressions/class/elements/static-as-valid-static-field.js
     103D test/language/expressions/class/elements/syntax/early-errors/grammar-private-field-optional-chaining.js
     104A test/language/expressions/logical-assignment/lgcl-and-arguments-strict.js
     105A test/language/expressions/logical-assignment/lgcl-and-assignment-operator-bigint.js
     106A test/language/expressions/logical-assignment/lgcl-and-assignment-operator-lhs-before-rhs.js
     107A test/language/expressions/logical-assignment/lgcl-and-assignment-operator-no-set-put.js
     108A test/language/expressions/logical-assignment/lgcl-and-assignment-operator-no-set.js
     109A test/language/expressions/logical-assignment/lgcl-and-assignment-operator-non-extensible.js
     110A test/language/expressions/logical-assignment/lgcl-and-assignment-operator-non-simple-lhs.js
     111A test/language/expressions/logical-assignment/lgcl-and-assignment-operator-non-writeable-put.js
     112A test/language/expressions/logical-assignment/lgcl-and-assignment-operator-non-writeable.js
     113A test/language/expressions/logical-assignment/lgcl-and-assignment-operator-unresolved-lhs.js
     114A test/language/expressions/logical-assignment/lgcl-and-assignment-operator-unresolved-rhs-put.js
     115A test/language/expressions/logical-assignment/lgcl-and-assignment-operator-unresolved-rhs.js
     116A test/language/expressions/logical-assignment/lgcl-and-assignment-operator.js
     117A test/language/expressions/logical-assignment/lgcl-and-eval-strict.js
     118A test/language/expressions/logical-assignment/lgcl-and-non-simple.js
     119A test/language/expressions/logical-assignment/lgcl-and-whitespace.js
     120A test/language/expressions/logical-assignment/lgcl-nullish-arguments-strict.js
     121A test/language/expressions/logical-assignment/lgcl-nullish-assignment-operator-bigint.js
     122A test/language/expressions/logical-assignment/lgcl-nullish-assignment-operator-lhs-before-rhs.js
     123A test/language/expressions/logical-assignment/lgcl-nullish-assignment-operator-no-set-put.js
     124A test/language/expressions/logical-assignment/lgcl-nullish-assignment-operator-no-set.js
     125A test/language/expressions/logical-assignment/lgcl-nullish-assignment-operator-non-extensible.js
     126A test/language/expressions/logical-assignment/lgcl-nullish-assignment-operator-non-simple-lhs.js
     127A test/language/expressions/logical-assignment/lgcl-nullish-assignment-operator-non-writeable-put.js
     128A test/language/expressions/logical-assignment/lgcl-nullish-assignment-operator-non-writeable.js
     129A test/language/expressions/logical-assignment/lgcl-nullish-assignment-operator-unresolved-lhs.js
     130A test/language/expressions/logical-assignment/lgcl-nullish-assignment-operator-unresolved-rhs-put.js
     131A test/language/expressions/logical-assignment/lgcl-nullish-assignment-operator-unresolved-rhs.js
     132A test/language/expressions/logical-assignment/lgcl-nullish-assignment-operator.js
     133A test/language/expressions/logical-assignment/lgcl-nullish-eval-strict.js
     134A test/language/expressions/logical-assignment/lgcl-nullish-non-simple.js
     135A test/language/expressions/logical-assignment/lgcl-nullish-whitespace.js
     136A test/language/expressions/logical-assignment/lgcl-or-arguments-strict.js
     137A test/language/expressions/logical-assignment/lgcl-or-assignment-operator-bigint.js
     138A test/language/expressions/logical-assignment/lgcl-or-assignment-operator-lhs-before-rhs.js
     139A test/language/expressions/logical-assignment/lgcl-or-assignment-operator-no-set-put.js
     140A test/language/expressions/logical-assignment/lgcl-or-assignment-operator-no-set.js
     141A test/language/expressions/logical-assignment/lgcl-or-assignment-operator-non-extensible.js
     142A test/language/expressions/logical-assignment/lgcl-or-assignment-operator-non-simple-lhs.js
     143A test/language/expressions/logical-assignment/lgcl-or-assignment-operator-non-writeable-put.js
     144A test/language/expressions/logical-assignment/lgcl-or-assignment-operator-non-writeable.js
     145A test/language/expressions/logical-assignment/lgcl-or-assignment-operator-unresolved-lhs.js
     146A test/language/expressions/logical-assignment/lgcl-or-assignment-operator-unresolved-rhs-put.js
     147A test/language/expressions/logical-assignment/lgcl-or-assignment-operator-unresolved-rhs.js
     148A test/language/expressions/logical-assignment/lgcl-or-assignment-operator.js
     149A test/language/expressions/logical-assignment/lgcl-or-eval-strict.js
     150A test/language/expressions/logical-assignment/lgcl-or-non-simple.js
     151A test/language/expressions/logical-assignment/lgcl-or-whitespace.js
     152A test/language/expressions/template-literal/unicode-escape-no-hex-err.js
     153A test/language/literals/string/unicode-escape-no-hex-err-double.js
     154A test/language/literals/string/unicode-escape-no-hex-err-single.js
     155A test/language/statements/class/elements/grammar-private-field-optional-chaining.js
     156A test/language/statements/class/elements/static-as-valid-instance-field-assigned.js
     157A test/language/statements/class/elements/static-as-valid-instance-field.js
     158A test/language/statements/class/elements/static-as-valid-static-field-assigned.js
     159A test/language/statements/class/elements/static-as-valid-static-field.js
     160D test/language/statements/class/elements/syntax/early-errors/grammar-private-field-optional-chaining.js
     161A test/language/statements/for-await-of/iterator-close-non-throw-get-method-abrupt.js
     162A test/language/statements/for-await-of/iterator-close-non-throw-get-method-non-callable.js
     163A test/language/statements/for-await-of/iterator-close-throw-get-method-abrupt.js
     164A test/language/statements/for-await-of/iterator-close-throw-get-method-non-callable.js
     165R051 test/language/statements/for-of/iterator-close-get-method-error.js test/language/statements/for-of/iterator-close-non-throw-get-method-abrupt.js
     166A test/language/statements/for-of/iterator-close-non-throw-get-method-non-callable.js
     167A test/language/statements/for-of/iterator-close-throw-get-method-abrupt.js
     168A test/language/statements/for-of/iterator-close-throw-get-method-non-callable.js
  • trunk/JSTests/test262/test/annexB/language/literals/regexp/legacy-octal-escape.js

    r228028 r259529  
    33/*---
    44esid: sec-regular-expressions-patterns
    5 es6id: B.1.4
    65description: Legacy Octal Escape Sequence
    76info: |
    8     CharacterEscape[U]::
     7    CharacterEscape[U] ::
    98        ControlEscape
    109        c ControlLetter
     
    1514        IdentityEscape[?U]
    1615
    17     The production CharacterEscape::LegacyOctalEscapeSequence evaluates by
     16    LegacyOctalEscapeSequence ::
     17        OctalDigit [lookahead ∉ OctalDigit]
     18        ZeroToThree OctalDigit [lookahead ∉ OctalDigit]
     19        FourToSeven OctalDigit
     20        ZeroToThree OctalDigit OctalDigit
     21
     22    The production CharacterEscape :: LegacyOctalEscapeSequence evaluates by
    1823    evaluating the SV of the LegacyOctalEscapeSequence (see B.1.2) and
    1924    returning its character result.
    2025---*/
    21 
    22 var match;
    2326
    2427assert.sameValue(/\1/.exec('\x01')[0], '\x01', '\\1');
     
    4245assert.sameValue(/\77/.exec('\x3f')[0], '\x3f', '\\77');
    4346
    44 // Sequence is bounded according to the String Value (not number of characters)
     47// Sequence is bounded according to the String Value
    4548assert.sameValue(/\400/.exec('\x200')[0], '\x200', '\\400');
    4649assert.sameValue(/\470/.exec('\x270')[0], '\x270', '\\470');
     
    5558assert.sameValue(/\307/.exec('\xc7')[0], '\xc7', '\\307');
    5659assert.sameValue(/\370/.exec('\xf8')[0], '\xf8', '\\370');
     60assert.sameValue(/\377/.exec('\xff')[0], '\xff', '\\377');
    5761
    58 match = /(.)\1/.exec('a\x01 aa');
     62// Sequence is 3 characters max, including leading zeros
     63assert.sameValue(/\0111/.exec('\x091')[0], '\x091', '\\0111');
     64assert.sameValue(/\0022/.exec('\x022')[0], '\x022', '\\0022');
     65assert.sameValue(/\0003/.exec('\x003')[0], '\x003', '\\0003');
     66
     67var match = /(.)\1/.exec('a\x01 aa');
    5968assert.sameValue(
    6069  match[0], 'aa', 'DecimalEscape takes precedence over LegacyOctalEscapeSequence'
  • trunk/JSTests/test262/test/built-ins/FinalizationRegistry/gc-has-one-chance-to-call-cleanupCallback.js

    r257590 r259529  
    3434var called = 0;
    3535
    36 // both this cb and the finalizationRegistry callback are not exhausting the iterator to prevent
    37 // the target cell from being removed from the finalizationRegistry.[[Cells]].
    38 // More info at %FinalizationRegistryCleanupIteratorPrototype%.next ( )
    39 function cb() {
     36function cb(holding) {
     37  assert.sameValue(holding, 'a');
    4038  called += 1;
    4139}
     
    5553}
    5654
    57 // Let's add some async ticks, as the cleanupCallback is not meant to interrupt
    58 // synchronous operations.
    59 async function fn() {
     55emptyCells()
     56  .then(async function() {
    6057  await Promise.resolve(1);
    6158
    6259  finalizationRegistry.cleanupSome(cb);
     60
     61  // cleanupSome will be invoked if there are empty cells left. If the
     62  // cleanupCallback already ran, then cb won't be called.
     63  let expectedCalled = cleanupCallback === 1 ? 0 : 1;
    6364  // This asserts the registered object was emptied in the previous GC.
    64   assert.sameValue(called, 1, 'cleanupSome callback for the first time');
     65  assert.sameValue(called, expectedCalled, 'cleanupSome callback for the first time');
    6566
    6667  // At this point, we can't assert if cleanupCallback was called, because it's
     
    7273  assert(cleanupCallback <= 1, 'cleanupCallback might be 1');
    7374
    74   // Restoring the cleanupCallback variable to 0 will help us asserting the finalizationRegistry
    75   // callback is not called again.
     75  // Restoring the cleanupCallback variable to 0 will help us asserting the
     76  // finalizationRegistry callback is not called again.
    7677  cleanupCallback = 0;
    7778
     
    8182  finalizationRegistry.cleanupSome(cb);
    8283
    83   // This cb is called again because finalizationRegistry still holds an emptied cell, but it's
    84   // not yet removed from the
    85   assert.sameValue(called, 2, 'cleanupSome callback for the second time');
     84  assert.sameValue(called, expectedCalled, 'cleanupSome callback is not called anymore, no empty cells');
    8685  assert.sameValue(cleanupCallback, 0, 'cleanupCallback is not called again #1');
    8786
     
    9190  finalizationRegistry.cleanupSome(cb);
    9291
    93   assert.sameValue(called, 3, 'cleanupSome callback for the third time');
     92  assert.sameValue(called, expectedCalled, 'cleanupSome callback is not called again #2');
    9493  assert.sameValue(cleanupCallback, 0, 'cleanupCallback is not called again #2');
    9594
    9695  await $262.gc();
    97 }
    98 
    99 emptyCells()
    100   .then(async function() {
    101     await fn();// tick
    102     await Promise.resolve(4); // tick
    103 
    104     assert.sameValue(cleanupCallback, 0, 'cleanupCallback is not called again #3');
    105 
    106     finalizationRegistry.cleanupSome(cb);
    107 
    108     assert.sameValue(called, 4, 'cleanupSome callback for the fourth time');
    109     assert.sameValue(cleanupCallback, 0, 'cleanupCallback is not called again #4');
    110    
    111     await $262.gc();
    112 
    113     // Now we are exhausting the iterator, so cleanupSome callback will also not be called.
    114     finalizationRegistry.cleanupSome(iterator => {
    115       var exhausted = [...iterator];
    116       assert.sameValue(exhausted.length, 1);
    117       assert.sameValue(exhausted[0], 'a');
    118       called += 1;
    119     });
    120 
    121     assert.sameValue(called, 5, 'cleanupSome callback for the fifth time');
    122     assert.sameValue(cleanupCallback, 0, 'cleanupCallback is not called again #4');
    123 
    124     await $262.gc();
    125 
    126     await Promise.resolve(5); // tick
    127     await await Promise.resolve(6); // more ticks
    128     await await await Promise.resolve(7); // even more ticks
    129 
    130     finalizationRegistry.cleanupSome(cb);
    131 
    132     assert.sameValue(called, 5, 'cleanupSome callback is not called anymore, no empty cells');
    133     assert.sameValue(cleanupCallback, 0, 'cleanupCallback is not called again #5');
    13496  })
    13597  .then($DONE, resolveAsyncGC);
  • trunk/JSTests/test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-reference.js

    r257590 r259529  
    1919---*/
    2020
    21 var holdingsList;
    22 function cb(iterator) {
    23   holdingsList = [...iterator];
     21var holdingsList = [];
     22function cb(holding) {
     23  holdingsList.push(holding);
    2424};
    2525var finalizationRegistry = new FinalizationRegistry(function() {});
  • trunk/JSTests/test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-unregister.js

    r257590 r259529  
    4747  assert.sameValue(res, true, 'unregister target before iterating over it in cleanup');
    4848
    49   finalizationRegistry.cleanupSome(function cb(iterator) {
     49  finalizationRegistry.cleanupSome(function cb(holding) {
    5050    called += 1;
    5151  });
  • trunk/JSTests/test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/holdings-multiple-values.js

    r259528 r259529  
    1717
    1818  ...
    19   3. Let iterator be ! CreateFinalizationRegistryCleanupIterator(finalizationRegistry).
    20   ...
    21   6. Let result be Call(callback, undefined, « iterator »).
     19  3. While finalizationRegistry.[[Cells]] contains a Record cell such that cell.[[WeakRefTarget]] is ~empty~, then an implementation may perform the following steps,
     20    a. Choose any such cell.
     21    b. Remove cell from finalizationRegistry.[[Cells]].
     22    c. Perform ? Call(callback, undefined, << cell.[[HeldValue]] >>).
    2223  ...
    2324
    24   %FinalizationRegistryCleanupIteratorPrototype%.next ( )
    2525
    26   8. If finalizationRegistry.[[Cells]] contains a Record cell such that cell.[[Target]] is empty,
    27     a. Choose any such cell.
    28     b. Remove cell from finalizationRegistry.[[Cells]].
    29     c. Return CreateIterResultObject(cell.[[Holdings]], false).
    30   9. Otherwise, return CreateIterResultObject(undefined, true).
    3126features: [FinalizationRegistry, Symbol, host-gc-required]
    3227includes: [async-gc.js]
     
    3530
    3631function check(value, expectedName) {
    37   var holdings;
     32  var holdings = [];
    3833  var called = 0;
    3934  var finalizationRegistry = new FinalizationRegistry(function() {});
    4035
    41   function callback(iterator) {
     36  function callback(holding) {
    4237    called += 1;
    43     holdings = [...iterator];
     38    holdings.push(holding);
    4439  }
    4540
  • trunk/JSTests/test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/reentrancy.js

    r259528 r259529  
    55esid: sec-properties-of-the-finalization-registry-constructor
    66description: >
    7   The cleanupSome() method throws if cleanup is currently in progress.
     7  The cleanupSome() method can be reentered
    88info: |
    99  FinalizationRegistry.prototype.cleanupSome ( [ callback ] )
    10 
    11   1. Let finalizationRegistry be the this value.
    12   ...
    13   4. If finalizationRegistry.[[IsFinalizationRegistryCleanupJobActive]] is true,
    14      throw a TypeError exception.
    1510
    1611features: [FinalizationRegistry, host-gc-required]
     
    2318var finalizationRegistry = new FinalizationRegistry(function() {});
    2419
    25 function callback(iterator) {
     20function callback(holding) {
    2621  called += 1;
    2722
     
    2924    // Atempt to re-enter the callback.
    3025    var nestedCallbackRan = false;
    31     assert.throws(TypeError, () => {
    32       finalizationRegistry.cleanupSome(() => { nestedCallbackRan = true });
    33     });
    34     assert.sameValue(nestedCallbackRan, false);
     26    finalizationRegistry.cleanupSome(() => { nestedCallbackRan = true });
     27    assert.sameValue(nestedCallbackRan, true);
    3528  }
    3629
     
    4033function emptyCells() {
    4134  var o1 = {};
     35  var o2 = {};
     36  // Register more than one objects to test reentrancy.
    4237  finalizationRegistry.register(o1, 'holdings 1');
     38  finalizationRegistry.register(o2, 'holdings 2');
    4339
    4440  var prom = asyncGC(o1);
  • trunk/JSTests/test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined-with-gc.js

    r257590 r259529  
    4040}
    4141
    42 var tests = [];
    43 
    44 tests.push(emptyCells().then(function() {
     42emptyCells().then(function() {
    4543  called = 0;
    4644  assert.sameValue(finalizationRegistry.cleanupSome(cb), undefined, 'regular callback');
    4745  assert.sameValue(called, 1);
    48 }));
    49 
    50 tests.push(emptyCells().then(function() {
     46}).then(emptyCells).then(function() {
    5147  called = 0;
    5248  assert.sameValue(finalizationRegistry.cleanupSome(fn), undefined, 'regular callback, same FG cleanup function');
    5349  assert.sameValue(called, 1);
    54 }));
    55 
    56 tests.push(emptyCells().then(function() {
     50}).then(emptyCells).then(function() {
    5751  called = 0;
    5852  assert.sameValue(finalizationRegistry.cleanupSome(), undefined, 'undefined (implicit) callback, defer to FB callback');
    5953  assert.sameValue(called, 1);
    60 }));
    61 
    62 tests.push(emptyCells().then(function() {
     54}).then(emptyCells).then(function() {
    6355  called = 0;
    6456  assert.sameValue(finalizationRegistry.cleanupSome(undefined), undefined, 'undefined (explicit) callback, defer to FB callback');
    6557  assert.sameValue(called, 1);
    66 }));
    67 
    68 tests.push(emptyCells().then(function() {
    69   assert.sameValue(finalizationRegistry.cleanupSome(() => 1), undefined, 'arrow function'); 
    70 }));
    71 
    72 tests.push(emptyCells().then(function() {
     58}).then(emptyCells).then(function() {
     59  assert.sameValue(finalizationRegistry.cleanupSome(() => 1), undefined, 'arrow function');
     60}).then(emptyCells).then(function() {
    7361  assert.sameValue(finalizationRegistry.cleanupSome(async function() {}), undefined, 'async function');
    74 }));
    75 
    76 tests.push(emptyCells().then(function() {
     62}).then(emptyCells).then(function() {
    7763  assert.sameValue(finalizationRegistry.cleanupSome(function *() {}), undefined, 'generator');
    78 }));
    79 
    80 tests.push(emptyCells().then(function() {
     64}).then(emptyCells).then(function() {
    8165  assert.sameValue(finalizationRegistry.cleanupSome(async function *() {}), undefined, 'async generator');
    82 }));
    83 
    84 Promise.all(tests).then(() => { $DONE(); }, resolveAsyncGC);
     66}).then($DONE, resolveAsyncGC);
  • trunk/JSTests/test262/test/built-ins/FinalizationRegistry/prototype/unregister/unregister-cleaned-up-cell.js

    r257590 r259529  
    1616
    1717  ...
    18   3. Let iterator be ! CreateFinalizationRegistryCleanupIterator(finalizationRegistry).
    19   ...
    20   6. Let result be Call(callback, undefined, « iterator »).
    21   ...
    22 
    23   %FinalizationRegistryCleanupIteratorPrototype%.next ( )
    24 
    25   8. If finalizationRegistry.[[Cells]] contains a Record cell such that cell.[[Target]] is empty,
     18  3. While finalizationRegistry.[[Cells]] contains a Record cell such that cell.[[WeakRefTarget]] is ~empty~, then an implementation may perform the following steps,
    2619    a. Choose any such cell.
    2720    b. Remove cell from finalizationRegistry.[[Cells]].
    28     c. Return CreateIterResultObject(cell.[[Holdings]], false).
    29   9. Otherwise, return CreateIterResultObject(undefined, true).
     21    c. Perform ? Call(callback, undefined, << cell.[[HeldValue]] >>).
     22  ...
    3023
    3124  FinalizationRegistry.prototype.unregister ( unregisterToken )
     
    5851emptyCells().then(function() {
    5952  var called = 0;
    60   var holdings;
    61   finalizationRegistry.cleanupSome(function cb(iterator) {
     53  var holdings = [];
     54  finalizationRegistry.cleanupSome(function cb(holding) {
    6255    called += 1;
    63     holdings = [...iterator];
     56    holdings.push(holding);
    6457  });
    6558
  • trunk/JSTests/test262/test/built-ins/Proxy/create-handler-is-revoked-proxy.js

    r239425 r259529  
    22// This code is governed by the BSD license found in the LICENSE file.
    33/*---
    4 es6id: 9.5.15
     4esid: sec-proxycreate
    55description: >
    6     Proxy ( target, handler )
    7     ...
    8     4.  If handler is a Proxy exotic object and the value of the
    9     [[ProxyHandler]] internal slot of handler is null, throw a
    10     TypeError exception.
    11     ...
     6  A Proxy is created with its [[ProxyHandler]] as revoked Proxy.
     7info: |
     8  ProxyCreate ( target, handler )
     9
     10  [...]
     11  3. Let P be ! MakeBasicObject(« [[ProxyHandler]], [[ProxyTarget]] »).
     12  [...]
     13  7. Set P.[[ProxyHandler]] to handler.
     14  8. Return P.
    1215features: [Proxy]
    1316---*/
    1417
    1518var revocable = Proxy.revocable({}, {});
    16 
    1719revocable.revoke();
    1820
    19 assert.throws(TypeError, function() {
    20   new Proxy({}, revocable.proxy);
    21 });
     21var proxy = new Proxy({}, revocable.proxy);
     22assert.sameValue(typeof proxy, "object");
  • trunk/JSTests/test262/test/built-ins/Proxy/create-target-is-not-callable.js

    r239425 r259529  
    22// This code is governed by the BSD license found in the LICENSE file.
    33/*---
    4 es6id: 9.5.15
     4esid: sec-proxycreate
    55description: >
    66    A Proxy exotic object is only callable if the given target is callable.
     
    2323
    2424assert.throws(TypeError, function() {
    25   p.call();
     25  p();
    2626});
  • trunk/JSTests/test262/test/built-ins/Proxy/create-target-is-revoked-proxy.js

    r239425 r259529  
    22// This code is governed by the BSD license found in the LICENSE file.
    33/*---
    4 es6id: 9.5.15
     4esid: sec-proxycreate
    55description: >
    6     Proxy ( target, handler )
    7     ...
    8     2. If target is a Proxy exotic object and the value of the
    9     [[ProxyHandler]] internal slot of target is null, throw a
    10     TypeError exception.
    11     ...
     6  A Proxy is created with its [[ProxyTarget]] as revoked Proxy.
     7info: |
     8  ProxyCreate ( target, handler )
     9
     10  [...]
     11  3. Let P be ! MakeBasicObject(« [[ProxyHandler]], [[ProxyTarget]] »).
     12  [...]
     13  6. Set P.[[ProxyTarget]] to target.
     14  [...]
     15  8. Return P.
    1216features: [Proxy]
    1317---*/
    1418
    1519var revocable = Proxy.revocable({}, {});
    16 
    1720revocable.revoke();
    1821
    19 assert.throws(TypeError, function() {
    20   new Proxy(revocable.proxy, {});
    21 });
     22var proxy = new Proxy(revocable.proxy, {});
     23assert.sameValue(typeof proxy, "object");
  • trunk/JSTests/test262/test/intl402/RelativeTimeFormat/constructor/constructor/options-numberingSystem-invalid.js

    r257590 r259529  
    1111    ...
    1212    8. If numberingSystem is not undefined, then
    13         a. If numberingSystem does not match the [(3*8alphanum) *("-" (3*8alphanum))] sequence, throw a RangeError exception.
     13        a. If numberingSystem does not match the type sequence (from UTS 35 Unicode Locale Identifier, section 3.2), throw a RangeError exception.
    1414
    1515features: [Intl.RelativeTimeFormat]
     
    3535  "latn-ca-",
    3636  "latn-ca-gregory",
     37  "latné",
     38  "latn编号",
    3739];
    3840for (const numberingSystem of invalidNumberingSystemOptions) {
  • trunk/JSTests/test262/test/language/statements/for-of/iterator-close-non-throw-get-method-abrupt.js

    r259528 r259529  
    22// This code is governed by the BSD license found in the LICENSE file.
    33/*---
    4 es6id: 13.6.4.13
     4esid: sec-iteratorclose
    55description: >
    6     If retrieving an iterator's `return` method generates an error while
    7     closing the iterator, the error should be forwarded to the runtime.
     6  If retrieving an iterator's `return` method generates an error while
     7  closing the iterator with non-throw completion, the error should be
     8  forwarded to the runtime.
     9info: |
     10  IteratorClose ( iteratorRecord, completion )
     11
     12  [...]
     13  4. Let innerResult be GetMethod(iterator, "return").
     14  5. If innerResult.[[Type]] is normal,
     15    [...]
     16  6. If completion.[[Type]] is throw, return Completion(completion).
     17  7. If innerResult.[[Type]] is throw, return Completion(innerResult).
     18
     19  GetMethod ( V, P )
     20
     21  [...]
     22  2. Let func be ? GetV(V, P).
    823features: [Symbol.iterator]
    924---*/
  • trunk/JSTests/test262/test262-Revision.txt

    r259032 r259529  
    1 test262 remote url: https://github.com/tc39/test262.git
    2 test262 revision: 96cf75770ecc70438b00f431c266b834e41b91ce
     1test262 remote url: git@github.com:tc39/test262.git
     2test262 revision: 62b8fce3897152da2cc4f8bd1e27878a409ab975
Note: See TracChangeset for help on using the changeset viewer.