Browse Source

Enable skipped let/const tests (#775)

Marko Lahma 5 years ago
parent
commit
5e68c16924
2 changed files with 1 additions and 375 deletions
  1. 0 374
      Jint.Tests.Test262/test/skipped.json
  2. 1 1
      Jint/Native/Proxy/ProxyInstance.cs

+ 0 - 374
Jint.Tests.Test262/test/skipped.json

@@ -296,138 +296,6 @@
     "source": "built-ins/StringIteratorPrototype/next/next-iteration-surrogate-pairs.js",
     "reason": "code point iteration not implemented"
   },
-  {
-    "source": "built-ins/Date/prototype/toTimeString/format.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "built-ins/Date/prototype/toString/format.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "built-ins/Date/parse/zero.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "built-ins/Date/prototype/toUTCString/format.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "built-ins/Date/prototype/toDateString/format.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "language/statements/for-in/head-const-bound-names-fordecl-tdz.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "language/statements/for-in/head-const-fresh-binding-per-iteration.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "language/statements/for-in/head-decl-expr.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "language/statements/for-in/head-let-bound-names-fordecl-tdz.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "language/statements/for-in/head-let-destructuring.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "language/statements/for-in/head-let-fresh-binding-per-iteration.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "language/statements/for-in/head-lhs-let.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "language/statements/for-in/scope-head-var-none.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "language/statements/for/head-const-fresh-binding-per-iteration.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "language/statements/for/head-let-destructuring.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "language/statements/for/head-let-fresh-binding-per-iteration.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "built-ins/Symbol/prototype/description/description-symboldescriptivestring.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "built-ins/Symbol/prototype/description/get.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "built-ins/Symbol/prototype/description/this-val-non-symbol.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "built-ins/Symbol/prototype/description/this-val-symbol.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "built-ins/Symbol/prototype/description/wrapper.js",
-    "reason": "let/const not implemented"
-  },
-  {
-    "source": "language/statements/for-in/head-var-bound-names-dup.js",
-    "reason": "destructing not implemented"
-  },
-  {
-    "source": "built-ins/Math/pow/int32_min-exponent.js",
-    "reason": "const not implemented"
-  },
-  {
-    "source": "language/expressions/assignment/dstr-obj-rest-put-const.js",
-    "reason": "const not implemented"
-  },
-  {
-    "source": "language/statements/for-of/dstr-obj-rest-put-const.js",
-    "reason": "const not implemented"
-  },
-  {
-    "source": "language/statements/for-of/head-const-bound-names-fordecl-tdz.js",
-    "reason": "const not implemented"
-  },
-  {
-    "source": "language/statements/for-of/head-const-fresh-binding-per-iteration.js",
-    "reason": "const not implemented"
-  },
-  {
-    "source": "language/statements/for-of/dstr-const-ary-ptrn-rest-obj-prop-id.js",
-    "reason": "const not implemented"
-  },
-  {
-    "source": "language/statements/for-of/head-let-bound-names-fordecl-tdz.js",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/statements/for-of/head-let-destructuring.js",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/statements/for-of/head-let-fresh-binding-per-iteration.js",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/statements/for-of/dstr-let-ary-ptrn-rest-obj-prop-id.js",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/statements/for-of/dstr-var-ary-ptrn-rest-obj-prop-id.js",
-    "reason": "let not implemented"
-  },
   {
     "source": "language/expressions/template-literal/tv-line-terminator-sequence.js",
     "reason": "Line feed problems (git, windows, linux)"
@@ -451,248 +319,6 @@
     "reason": "inner binding rejects modification (from parameters) Expected a Error to be thrown but no exception was thrown at all"
   },
 
-  // let support
-  {
-    "source": "language/expressions/assignment/dstr-array-rest-nested-obj-undefined-own.js",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/assignment/dstr-array-rest-nested-obj-undefined.js",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/assignment/dstr-array-rest-nested-obj-undefined-hole.js",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/statements/for/dstr-const-ary-ptrn-rest-obj-prop-id.js",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/statements/for/dstr-var-ary-ptrn-rest-obj-prop-id.js",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/statements/for/dstr-let-ary-ptrn-rest-obj-prop-id.js",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/arrow-function/dstr-ary-ptrn-elem-id-init-fn-name-cover.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/arrow-function/dstr-ary-ptrn-rest-obj-prop-id.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-obj-prop-id.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/function/dstr-ary-ptrn-rest-obj-prop-id.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/function/dstr-dflt-ary-ptrn-rest-obj-prop-id.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/object/dstr-meth-ary-ptrn-rest-obj-prop-id.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-obj-prop-id.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/call/spread-obj-override-immutable.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/call/spread-obj-overrides-prev-properties.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/call/spread-obj-skip-non-enumerable.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/call/spread-obj-with-overrides.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/call/spread-sngl-obj-ident.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/call/spread-obj-mult-spread.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/call/spread-obj-getter-descriptor.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/call/spread-obj-mult-spread-getter.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/call/spread-obj-getter-init.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/call/spread-mult-obj-ident.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/new/spread-mult-obj-ident.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/new/spread-obj-getter-descriptor.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/new/spread-obj-getter-init.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/new/spread-obj-mult-spread-getter.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/new/spread-obj-mult-spread.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/new/spread-obj-override-immutable.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/new/spread-obj-overrides-prev-properties.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/new/spread-obj-skip-non-enumerable.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/new/spread-obj-with-overrides.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/new/spread-sngl-obj-ident.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/array/spread-mult-obj-ident.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/array/spread-obj-getter-descriptor.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/array/spread-obj-getter-init.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/array/spread-obj-mult-spread-getter.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/array/spread-obj-mult-spread.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/array/spread-obj-override-immutable.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/array/spread-obj-overrides-prev-properties.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/array/spread-obj-skip-non-enumerable.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/array/spread-obj-with-overrides.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/array/spread-sngl-obj-ident.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/array/spread-obj-symbol-property.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/new/spread-obj-symbol-property.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "language/expressions/call/spread-obj-symbol-property.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "built-ins/Object/entries/tamper-with-global-object.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "built-ins/Object/values/tamper-with-global-object.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-  {
-    "source": "built-ins/Object/keys/proxy-keys.js",
-    "mode": "strict",
-    "reason": "let not implemented"
-  },
-
-
   // class support
   {
     "source": "built-ins/Function/prototype/toString/class-declaration-complex-heritage.js",

+ 1 - 1
Jint/Native/Proxy/ProxyInstance.cs

@@ -181,7 +181,7 @@ namespace Jint.Native.Proxy
 
         public override PropertyDescriptor GetOwnProperty(JsValue property)
         {
-            if (!TryCallHandler(TrapGetOwnPropertyDescriptor, new[] {_target, property, this}, out var result))
+            if (!TryCallHandler(TrapGetOwnPropertyDescriptor, new[] { _target, property }, out var result))
             {
                 return _target.GetOwnProperty(property);
             }