Generator: context-aware variable refs — 444/831 (53%, +20)

Fixed ref() to map upstream JS variable names to let-bound SX variables
using element context (tag→var, id→var, make-return→last-var). Fixes
if (0→14/19), put (14→18), on (20→23), and other categories where the
upstream test uses make() return variables like d1, div, btn.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-10 15:11:03 +00:00
parent e98aedf803
commit ce4579badb
3 changed files with 495 additions and 470 deletions

View File

@@ -256,6 +256,17 @@ test.describe('Hyperscript behavioral tests', () => {
for (const [t, n] of Object.entries(errTypes).sort((a,b) => b[1] - a[1])) {
console.log(` ${t}: ${n}`);
}
// Show sample failures per type
for (const [t, n] of Object.entries(errTypes).sort((a,b) => b[1] - a[1])) {
const samples = results.filter(r => !r.p).filter(r => {
const e = r.e || '';
if (t === 'crash') return e.includes('callFn');
if (t === 'stub') return e.includes('NOT IMPLEMENTED');
if (t === 'timeout') return e === 'TIMEOUT';
return false;
}).slice(0, 3);
for (const s of samples) console.log(` ${s.s}/${s.n}: ${(s.e||'').slice(0, 120)}`);
}
expect(results.length).toBeGreaterThanOrEqual(830);
expect(passed).toBeGreaterThanOrEqual(420);