js-on-sx: js-to-string emits comma-joined elements for SX lists
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m3s

String([1,2,3]) was returning "(1 2 3)" (the SX (str v) fallback in
js-to-string fell through for SX lists). Replaced the fallback with
a list-typed branch that delegates to (js-list-join v ","). Fixes
String(arr), "" + arr, and any implicit array-to-string coercion.
built-ins/String: 65/99 → 67/99. conformance.sh: 148/148.
This commit is contained in:
2026-05-07 12:45:06 +00:00
parent 081f934cad
commit 66f13c95d5
4 changed files with 29 additions and 32 deletions

View File

@@ -1231,7 +1231,7 @@
"[object Object]"))
(js-to-string result)))
"[object Object]"))))
(str v))))))
(if (= (type-of v) "list") (js-list-join v ",") (str v)))))))
(define
js-template-concat

View File

@@ -1,34 +1,30 @@
{
"totals": {
"pass": 65,
"fail": 28,
"pass": 67,
"fail": 19,
"skip": 1,
"timeout": 6,
"timeout": 13,
"total": 100,
"runnable": 99,
"pass_rate": 65.7
"pass_rate": 67.7
},
"categories": [
{
"category": "built-ins/String",
"total": 100,
"pass": 65,
"fail": 28,
"pass": 67,
"fail": 19,
"skip": 1,
"timeout": 6,
"pass_rate": 65.7,
"timeout": 13,
"pass_rate": 67.7,
"top_failures": [
[
"Test262Error (assertion failed)",
16
],
[
"TypeError: not a function",
8
15
],
[
"Timeout",
6
13
],
[
"Unhandled: Not callable: \\\\\\",
@@ -37,6 +33,10 @@
[
"ReferenceError (undefined symbol)",
1
],
[
"SyntaxError (parse/unsupported syntax)",
1
]
]
}
@@ -44,15 +44,11 @@
"top_failure_modes": [
[
"Test262Error (assertion failed)",
16
],
[
"TypeError: not a function",
8
15
],
[
"Timeout",
6
13
],
[
"Unhandled: Not callable: \\\\\\",
@@ -68,6 +64,6 @@
]
],
"pinned_commit": "d5e73fc8d2c663554fb72e2380a8c2bc1a318a33",
"elapsed_seconds": 353.1,
"elapsed_seconds": 580.2,
"workers": 1
}

View File

@@ -1,15 +1,14 @@
# test262 scoreboard
Pinned commit: `d5e73fc8d2c663554fb72e2380a8c2bc1a318a33`
Wall time: 353.1s
Wall time: 580.2s
**Total:** 65/99 runnable passed (65.7%). Raw: pass=65 fail=28 skip=1 timeout=6 total=100.
**Total:** 67/99 runnable passed (67.7%). Raw: pass=67 fail=19 skip=1 timeout=13 total=100.
## Top failure modes
- **16x** Test262Error (assertion failed)
- **8x** TypeError: not a function
- **6x** Timeout
- **15x** Test262Error (assertion failed)
- **13x** Timeout
- **2x** Unhandled: Not callable: \\\
- **1x** ReferenceError (undefined symbol)
- **1x** SyntaxError (parse/unsupported syntax)
@@ -18,14 +17,14 @@ Wall time: 353.1s
| Category | Pass | Fail | Skip | Timeout | Total | Pass % |
|---|---:|---:|---:|---:|---:|---:|
| built-ins/String | 65 | 28 | 1 | 6 | 100 | 65.7% |
| built-ins/String | 67 | 19 | 1 | 13 | 100 | 67.7% |
## Per-category top failures (min 10 runnable, worst first)
### built-ins/String (65/99 — 65.7%)
### built-ins/String (67/99 — 67.7%)
- **16x** Test262Error (assertion failed)
- **8x** TypeError: not a function
- **6x** Timeout
- **15x** Test262Error (assertion failed)
- **13x** Timeout
- **2x** Unhandled: Not callable: \\\
- **1x** ReferenceError (undefined symbol)
- **1x** SyntaxError (parse/unsupported syntax)