mirror of
https://github.com/bellard/quickjs.git
synced 2025-09-27 21:58:45 +03:00
Compare commits
1 Commits
8166de8ed0
...
6600f59539
Author | SHA1 | Date | |
---|---|---|---|
|
6600f59539 |
@ -1,5 +1,3 @@
|
||||
2025-09-13:
|
||||
|
||||
- added JSON modules and import attributes
|
||||
- added JS_PrintValue() API
|
||||
- qjs: pretty print objects in print() and console.log()
|
||||
@ -14,7 +12,6 @@
|
||||
accept JSON5 modules
|
||||
- added JS_FreePropertyEnum() and JS_AtomToCStringLen() API
|
||||
- added Error.isError()
|
||||
- misc bug fixes
|
||||
|
||||
2025-04-26:
|
||||
|
||||
|
2
TODO
2
TODO
@ -62,5 +62,5 @@ Optimization ideas:
|
||||
Test262o: 0/11262 errors, 463 excluded
|
||||
Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch)
|
||||
|
||||
Result: 48/81760 errors, 1631 excluded, 5564 skipped
|
||||
Result: 54/79414 errors, 1637 excluded, 6821 skipped
|
||||
Test262 commit: e7e136756cd67c1ffcf7c09d03aeb8ad5a6cec0c
|
||||
|
@ -78,8 +78,6 @@ DEF(await, "await")
|
||||
/* empty string */
|
||||
DEF(empty_string, "")
|
||||
/* identifiers */
|
||||
DEF(keys, "keys")
|
||||
DEF(size, "size")
|
||||
DEF(length, "length")
|
||||
DEF(fileName, "fileName")
|
||||
DEF(lineNumber, "lineNumber")
|
||||
@ -191,7 +189,6 @@ DEF(timed_out, "timed-out")
|
||||
DEF(ok, "ok")
|
||||
/* */
|
||||
DEF(toJSON, "toJSON")
|
||||
DEF(maxByteLength, "maxByteLength")
|
||||
/* class names */
|
||||
DEF(Object, "Object")
|
||||
DEF(Array, "Array")
|
||||
@ -231,9 +228,6 @@ DEF(Map, "Map")
|
||||
DEF(Set, "Set") /* Map + 1 */
|
||||
DEF(WeakMap, "WeakMap") /* Map + 2 */
|
||||
DEF(WeakSet, "WeakSet") /* Map + 3 */
|
||||
DEF(Iterator, "Iterator")
|
||||
DEF(IteratorHelper, "Iterator Helper")
|
||||
DEF(IteratorWrap, "Iterator Wrap")
|
||||
DEF(Map_Iterator, "Map Iterator")
|
||||
DEF(Set_Iterator, "Set Iterator")
|
||||
DEF(Array_Iterator, "Array Iterator")
|
||||
|
@ -174,7 +174,7 @@ cp Makefile VERSION TODO Changelog readme.txt LICENSE \
|
||||
|
||||
cp tests/*.js tests/*.patch tests/bjson.c $outdir/tests
|
||||
|
||||
cp examples/*.js examples/*.c examples/*.json $outdir/examples
|
||||
cp examples/*.js examples/*.c $outdir/examples
|
||||
|
||||
cp doc/quickjs.texi doc/quickjs.pdf doc/quickjs.html \
|
||||
$outdir/doc
|
||||
|
20
test262.conf
20
test262.conf
@ -64,12 +64,12 @@ Array.prototype.flatMap
|
||||
Array.prototype.includes
|
||||
Array.prototype.values
|
||||
ArrayBuffer
|
||||
arraybuffer-transfer
|
||||
arraybuffer-transfer=skip
|
||||
arrow-function
|
||||
async-functions
|
||||
async-iteration
|
||||
Atomics
|
||||
Atomics.pause
|
||||
Atomics.pause=skip
|
||||
Atomics.waitAsync=skip
|
||||
BigInt
|
||||
caller
|
||||
@ -140,7 +140,7 @@ Intl.NumberFormat-v3=skip
|
||||
Intl.RelativeTimeFormat=skip
|
||||
Intl.Segmenter=skip
|
||||
IsHTMLDDA
|
||||
iterator-helpers
|
||||
iterator-helpers=skip
|
||||
iterator-sequencing=skip
|
||||
json-modules
|
||||
json-parse-with-source=skip
|
||||
@ -180,10 +180,10 @@ regexp-named-groups
|
||||
regexp-unicode-property-escapes
|
||||
regexp-v-flag
|
||||
RegExp.escape
|
||||
resizable-arraybuffer
|
||||
resizable-arraybuffer=skip
|
||||
rest-parameters
|
||||
Set
|
||||
set-methods
|
||||
set-methods=skip
|
||||
ShadowRealm=skip
|
||||
SharedArrayBuffer
|
||||
source-phase-imports-module-source=skip
|
||||
@ -304,10 +304,14 @@ test262/test/built-ins/String/prototype/split/cstm-split-on-string-primitive.js
|
||||
# spec updates it in this case)
|
||||
test262/test/staging/sm/Array/frozen-dense-array.js
|
||||
|
||||
# does not match spec
|
||||
test262/test/staging/sm/Iterator/from/wrap-next-not-object-throws.js
|
||||
|
||||
# not supported
|
||||
test262/test/staging/sm/Set/difference.js
|
||||
test262/test/staging/sm/Set/intersection.js
|
||||
test262/test/staging/sm/Set/is-disjoint-from.js
|
||||
test262/test/staging/sm/Set/is-subset-of.js
|
||||
test262/test/staging/sm/Set/is-superset-of.js
|
||||
test262/test/staging/sm/Set/symmetric-difference.js
|
||||
test262/test/staging/sm/Set/union.js
|
||||
test262/test/staging/sm/extensions/censor-strict-caller.js
|
||||
test262/test/staging/sm/JSON/parse-with-source.js
|
||||
|
||||
|
@ -5,6 +5,8 @@ test262/test/annexB/language/expressions/assignmenttargettype/callexpression-in-
|
||||
test262/test/annexB/language/expressions/assignmenttargettype/callexpression-in-prefix-update.js:27: SyntaxError: invalid increment/decrement operand
|
||||
test262/test/annexB/language/expressions/assignmenttargettype/callexpression.js:33: SyntaxError: invalid assignment left-hand side
|
||||
test262/test/annexB/language/expressions/assignmenttargettype/cover-callexpression-and-asyncarrowhead.js:20: SyntaxError: invalid assignment left-hand side
|
||||
test262/test/built-ins/Atomics/notify/retrieve-length-before-index-coercion-non-shared-detached.js:34: TypeError: ArrayBuffer is detached
|
||||
test262/test/built-ins/Atomics/notify/retrieve-length-before-index-coercion-non-shared-detached.js:34: strict mode: TypeError: ArrayBuffer is detached
|
||||
test262/test/staging/sm/Date/UTC-convert-all-arguments.js:75: Test262Error: index 1: expected 42, got Error: didn't throw Expected SameValue(«Error: didn't throw», «42») to be true
|
||||
test262/test/staging/sm/Date/constructor-convert-all-arguments.js:75: Test262Error: index undefined: expected 42, got Error: didn't throw Expected SameValue(«Error: didn't throw», «42») to be true
|
||||
test262/test/staging/sm/Date/non-iso.js:76: Test262Error: Expected SameValue(«NaN», «-40071559730000») to be true
|
||||
@ -24,15 +26,19 @@ test262/test/staging/sm/RegExp/regress-613820-3.js:12: Test262Error: Actual [aab
|
||||
test262/test/staging/sm/RegExp/regress-613820-3.js:12: strict mode: Test262Error: Actual [aab, a, undefined, ab] and expected [aa, undefined, a, undefined] should have the same contents.
|
||||
test262/test/staging/sm/TypedArray/constructor-buffer-sequence.js:73: Error: Assertion failed: expected exception ExpectedError, got Error: Poisoned Value
|
||||
test262/test/staging/sm/TypedArray/prototype-constructor-identity.js:17: Test262Error: Expected SameValue(«2», «6») to be true
|
||||
test262/test/staging/sm/TypedArray/set-detached-bigint.js:27: Error: Assertion failed: expected exception SyntaxError, got RangeError: invalid array length
|
||||
test262/test/staging/sm/TypedArray/set-detached.js:112: RangeError: invalid array length
|
||||
test262/test/staging/sm/TypedArray/sort_modifications.js:12: Test262Error: Int8Array at index 0 for size 4 Expected SameValue(«0», «1») to be true
|
||||
test262/test/staging/sm/async-functions/async-contains-unicode-escape.js:45: Error: Assertion failed: expected exception SyntaxError, no exception thrown
|
||||
test262/test/staging/sm/async-functions/await-error.js:12: Test262Error: Expected SameValue(«false», «true») to be true
|
||||
test262/test/staging/sm/async-functions/await-in-arrow-parameters.js:33: Error: Assertion failed: expected exception SyntaxError, no exception thrown - AsyncFunction:(a = (b = await/r/g) => {}) => {}
|
||||
test262/test/staging/sm/class/boundFunctionSubclassing.js:12: Test262Error: Expected SameValue(«false», «true») to be true
|
||||
test262/test/staging/sm/class/compPropNames.js:26: Error: Expected syntax error: ({[1, 2]: 3})
|
||||
test262/test/staging/sm/class/strictExecution.js:32: Error: Assertion failed: expected exception TypeError, no exception thrown
|
||||
test262/test/staging/sm/class/superPropOrdering.js:83: Error: Assertion failed: expected exception TypeError, no exception thrown
|
||||
test262/test/staging/sm/expressions/short-circuit-compound-assignment-const.js:97: TypeError: 'a' is read-only
|
||||
test262/test/staging/sm/expressions/short-circuit-compound-assignment-tdz.js:23: Error: Assertion failed: expected exception ReferenceError, got TypeError: 'a' is read-only
|
||||
test262/test/staging/sm/extensions/TypedArray-set-object-funky-length-detaches.js:55: RangeError: invalid array length
|
||||
test262/test/staging/sm/generators/syntax.js:30: Error: Assertion failed: expected SyntaxError, but no exception thrown - function* g() { (function* yield() {}); }
|
||||
test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-arguments.js:14: Test262Error: Expected SameValue(«"object"», «"function"») to be true
|
||||
test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-eval.js:12: Test262Error: Expected SameValue(«"outer-gouter-geval-gtruefalseq"», «"outer-geval-gwith-gtruefalseq"») to be true
|
||||
|
@ -86,7 +86,7 @@ function toStr(a)
|
||||
case "undefined":
|
||||
return "undefined";
|
||||
case "string":
|
||||
return JSON.stringify(a);
|
||||
return a.__quote();
|
||||
case "number":
|
||||
if (a == 0 && 1 / a < 0)
|
||||
return "-0";
|
||||
@ -115,41 +115,6 @@ function bjson_test(a)
|
||||
}
|
||||
}
|
||||
|
||||
function bjson_test_arraybuffer()
|
||||
{
|
||||
var buf, array_buffer;
|
||||
|
||||
array_buffer = new ArrayBuffer(4);
|
||||
assert(array_buffer.byteLength, 4);
|
||||
assert(array_buffer.maxByteLength, 4);
|
||||
assert(array_buffer.resizable, false);
|
||||
buf = bjson.write(array_buffer);
|
||||
array_buffer = bjson.read(buf, 0, buf.byteLength);
|
||||
assert(array_buffer.byteLength, 4);
|
||||
assert(array_buffer.maxByteLength, 4);
|
||||
assert(array_buffer.resizable, false);
|
||||
|
||||
array_buffer = new ArrayBuffer(4, {maxByteLength: 4});
|
||||
assert(array_buffer.byteLength, 4);
|
||||
assert(array_buffer.maxByteLength, 4);
|
||||
assert(array_buffer.resizable, true);
|
||||
buf = bjson.write(array_buffer);
|
||||
array_buffer = bjson.read(buf, 0, buf.byteLength);
|
||||
assert(array_buffer.byteLength, 4);
|
||||
assert(array_buffer.maxByteLength, 4);
|
||||
assert(array_buffer.resizable, true);
|
||||
|
||||
array_buffer = new ArrayBuffer(4, {maxByteLength: 8});
|
||||
assert(array_buffer.byteLength, 4);
|
||||
assert(array_buffer.maxByteLength, 8);
|
||||
assert(array_buffer.resizable, true);
|
||||
buf = bjson.write(array_buffer);
|
||||
array_buffer = bjson.read(buf, 0, buf.byteLength);
|
||||
assert(array_buffer.byteLength, 4);
|
||||
assert(array_buffer.maxByteLength, 8);
|
||||
assert(array_buffer.resizable, true);
|
||||
}
|
||||
|
||||
/* test multiple references to an object including circular
|
||||
references */
|
||||
function bjson_test_reference()
|
||||
@ -206,7 +171,6 @@ function bjson_test_all()
|
||||
assert(e instanceof TypeError);
|
||||
}
|
||||
|
||||
bjson_test_arraybuffer();
|
||||
bjson_test_reference();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user