- scrape-hs-upstream.py: new scraper walks /tmp/hs-upstream/test/**/*.js
and emits body-style records for all 1,496 v0.9.90 tests (up from 831).
Widens coverage into 66 previously-missing categories — templates,
reactivity, behavior, worker, classRef, make, throw, htmx, tailwind,
viewTransition, and more.
- build-hs-manifest.py + hyperscript-upstream-manifest.{json,md}:
coverage manifest tagging each upstream test with a status
(runnable / skip-listed / untranslated / missing) and block reason.
- generate-sx-tests.py: emit (error "SKIP (...)") instead of silent
(hs-cleanup!) no-op for both skip-listed tests and generator-
untranslatable bodies. Stub counter now reports both buckets.
- hyperscript-feature-audit-0.9.90.md: gap audit against the 0.9.90
spec; pre-0.9.90.json backs up prior 831-test snapshot.
New honest baseline (ocaml runner, test-hyperscript-behavioral):
831 -> 1,496 tests; 645 -> 1,013 passing (67.7% conformance).
483 failures split: 45 skip-list, 151 untranslated, 287 real.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
13467 lines
371 KiB
JSON
13467 lines
371 KiB
JSON
[
|
|
{
|
|
"category": "add",
|
|
"name": "can add class ref on a single div",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can add class ref w/ double dash on a single div",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can add class ref on a single form",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can target another div for class ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can add to query in me",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can add to children",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can add non-class attributes",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can add css properties",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can add templated css properties",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can add multiple class refs",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can add class refs w/ colons and dashes",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can filter class addition via the when clause",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can filter property addition via the when clause",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "supports async expressions in when clause",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can add to an HTMLCollection",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "when clause sets result to matched elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "when clause result is empty when nothing matches",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can add a value to an array",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "add",
|
|
"name": "can add a value to a set",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/add.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "append",
|
|
"name": "can append a string to another string",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/append.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "append",
|
|
"name": "can append a value into an array",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/append.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "append",
|
|
"name": "can append a value to 'it'",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/append.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "append",
|
|
"name": "can append a value to a DOM node",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/append.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "append",
|
|
"name": "can append a value to a DOM element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/append.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "append",
|
|
"name": "can append a value to I",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/append.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "append",
|
|
"name": "can append a value to an object property",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/append.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "append",
|
|
"name": "multiple appends work",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/append.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "append",
|
|
"name": "append to undefined ignores the undefined",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/append.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "append",
|
|
"name": "append preserves existing content rather than overwriting it",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/append.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "append",
|
|
"name": "new content added by append will be live",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/append.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "append",
|
|
"name": "new DOM content added by append will be live",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/append.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "append",
|
|
"name": "can append a value to a set",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/append.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "askAnswer",
|
|
"name": "prompts and puts result in it",
|
|
"complexity": "dialog",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/askAnswer.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "askAnswer",
|
|
"name": "returns null on cancel",
|
|
"complexity": "dialog",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/askAnswer.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "askAnswer",
|
|
"name": "shows an alert",
|
|
"complexity": "dialog",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/askAnswer.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "askAnswer",
|
|
"name": "confirm returns first choice on OK",
|
|
"complexity": "dialog",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/askAnswer.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "askAnswer",
|
|
"name": "confirm returns second choice on cancel",
|
|
"complexity": "dialog",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/askAnswer.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "breakpoint",
|
|
"name": "parses as a top-level command",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/breakpoint.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "breakpoint",
|
|
"name": "parses inside an event handler",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/breakpoint.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "call",
|
|
"name": "can call javascript instance functions",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/call.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "call",
|
|
"name": "can call global javascript functions",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/call.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "call",
|
|
"name": "can call no argument functions",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/call.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "call",
|
|
"name": "can call functions w/ underscores",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/call.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "call",
|
|
"name": "can call functions w/ dollar signs",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/call.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "call",
|
|
"name": "call functions that return promises are waited on",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/call.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "can default variables",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "can default attributes",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "can default properties",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "default variables respect existing values",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "default attributes respect existing values",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "default properties respect existing values",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "can default possessive properties",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "can default of-expression properties",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "can default array elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "default array element respects existing value",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "default preserves zero",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "default overwrites empty string",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "default preserves false",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "can default style ref when unset",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "default",
|
|
"name": "default style ref preserves existing value",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/default.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dialog",
|
|
"name": "show opens a dialog (non-modal)",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "needs-dialog-api",
|
|
"upstream_file": "test/commands/dialog.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "dialog",
|
|
"name": "hide closes a dialog",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/dialog.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dialog",
|
|
"name": "show opens a non-modal dialog (no ::backdrop)",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-dialog-api",
|
|
"upstream_file": "test/commands/dialog.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "dialog",
|
|
"name": "open opens a modal dialog (matches :modal)",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-dialog-api",
|
|
"upstream_file": "test/commands/dialog.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "dialog",
|
|
"name": "show on already-open dialog is a no-op",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/dialog.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dialog",
|
|
"name": "open opens a dialog",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/dialog.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dialog",
|
|
"name": "close closes a dialog",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/dialog.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dialog",
|
|
"name": "open opens a details element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/dialog.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dialog",
|
|
"name": "close closes a details element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/dialog.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dialog",
|
|
"name": "open shows a popover",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/dialog.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dialog",
|
|
"name": "close hides a popover",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/dialog.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dialog",
|
|
"name": "open on implicit me",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/dialog.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "empty",
|
|
"name": "can empty an element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/empty.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "empty",
|
|
"name": "empty with no target empties me",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/empty.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "empty",
|
|
"name": "can empty multiple elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/empty.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "empty",
|
|
"name": "can empty an array",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/empty.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "empty",
|
|
"name": "can empty a set",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/empty.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "empty",
|
|
"name": "can empty a map",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/empty.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "empty",
|
|
"name": "can empty a text input",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/empty.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "empty",
|
|
"name": "can empty a textarea",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/empty.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "empty",
|
|
"name": "can empty a checkbox",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/empty.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "empty",
|
|
"name": "can empty a select",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/empty.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "empty",
|
|
"name": "can empty a form (clears all inputs)",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/empty.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "empty",
|
|
"name": "clear is an alias for empty",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/empty.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "empty",
|
|
"name": "clear works on elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/empty.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can do a simple fetch",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can do a simple fetch w/ a naked URL",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can do a simple fetch w/ html",
|
|
"complexity": "sinon",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can do a simple fetch w/ json",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can do a simple fetch w/ json using JSON syntax",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can do a simple fetch w/ json using Object syntax",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can do a simple fetch w/ json using Object syntax and an 'an' prefix",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can do a simple fetch with a response object",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can do a simple fetch w/ a custom conversion",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can do a simple post",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can do a simple post alt syntax without curlies",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can do a simple post alt syntax w/ curlies",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can put response conversion after with",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can put response conversion before with",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "triggers an event just before fetching",
|
|
"complexity": "sinon",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "submits the fetch parameters to the event handler",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "allows the event handler to change the fetch parameters",
|
|
"complexity": "sinon",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "can catch an error that occurs when using fetch",
|
|
"complexity": "sinon",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "throws on non-2xx response by default",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "do not throw passes through 404 response",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "don't throw passes through 404 response",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "as response does not throw on 404",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "fetch",
|
|
"name": "Response can be converted to JSON via as JSON",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/commands/fetch.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "focus",
|
|
"name": "can focus an element",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/focus.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "focus",
|
|
"name": "focus with no target focuses me",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/focus.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "focus",
|
|
"name": "can blur an element",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/focus.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "go",
|
|
"name": "can parse go to with string URL",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/go.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "go",
|
|
"name": "deprecated url keyword still parses",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/go.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "go",
|
|
"name": "go to naked URL starting with / parses",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/go.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "go",
|
|
"name": "go to element scrolls",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/go.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "go",
|
|
"name": "deprecated scroll form still works",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/go.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "halt",
|
|
"name": "halts event propagation and default",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/halt.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "halt",
|
|
"name": "halt stops execution after the halt",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/halt.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "halt",
|
|
"name": "halt the event stops propagation but continues execution",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/halt.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "halt",
|
|
"name": "halt the event's stops propagation but continues execution",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/halt.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "halt",
|
|
"name": "halt bubbling only stops propagation, not default",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/halt.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "halt",
|
|
"name": "halt works outside of event context",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/halt.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "halt",
|
|
"name": "halt default only prevents default, not propagation",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/halt.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can hide element with no target",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "hide element then show element retains original display",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can hide element with no target followed by command",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can hide element with no target followed by then",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can hide element with no target with a with",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can hide element, with display:none by default",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can hide element with display:none explicitly",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can hide element with opacity:0",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can hide element with opacity style literal",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can hide element, with visibility:hidden",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can hide other elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can hide with custom strategy",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can hide via the hidden attribute strategy",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can configure hidden as the default hide strategy",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can filter hide via the when clause",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "hide",
|
|
"name": "can set default to custom strategy",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/hide.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "basic true branch works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "basic true branch works with multiple commands",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "basic true branch works with end",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "basic true branch works with naked else",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "basic true branch works with naked else end",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "basic else branch works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "basic else branch works with end",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "basic else if branch works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "basic else if branch works with end",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "otherwise alias works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "triple else if branch works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "triple else if branch works with end",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "basic else branch works with multiple commands",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "true branch with a wait works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "false branch with a wait works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "if properly passes execution along if child is not executed",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "if properly supports nested if statements and end block",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "if on new line does not join w/ else",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "if",
|
|
"name": "passes the sieve test",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/if.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can increment an empty variable",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can increment a variable",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can increment refer to result",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can increment an attribute",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can increment an floating point numbers",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can increment a property",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can increment by zero",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can increment a value multiple times",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can decrement an empty variable",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can decrement a variable",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can decrement an attribute",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can decrement an floating point numbers",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can decrement a property",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can decrement a value multiple times",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can decrement by zero",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can increment an array element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can decrement an array element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can increment a possessive property",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can increment a property of expression",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "increment",
|
|
"name": "can increment a style ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/increment.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "js",
|
|
"name": "can run js",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/js.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "js",
|
|
"name": "can deal with empty input list",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/js.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "js",
|
|
"name": "can access values from _hyperscript",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/js.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "js",
|
|
"name": "can return values to _hyperscript",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/js.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "js",
|
|
"name": "can do both of the above",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/js.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "js",
|
|
"name": "handles rejected promises without hanging",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/js.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "log",
|
|
"name": "can log single item",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/log.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "log",
|
|
"name": "can log multiple items",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/log.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "log",
|
|
"name": "can log multiple items with debug",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/log.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "log",
|
|
"name": "can log multiple items with error",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/log.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "make",
|
|
"name": "can make objects",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/make.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "make",
|
|
"name": "can make named objects",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/make.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "make",
|
|
"name": "can make named objects w/ global scope",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/make.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "make",
|
|
"name": "can make objects with arguments",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/make.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "make",
|
|
"name": "can make named objects with arguments",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/make.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "make",
|
|
"name": "can make elements",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/make.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "make",
|
|
"name": "can make elements with id and classes",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/make.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "make",
|
|
"name": "creates a div by default",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/make.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "measure",
|
|
"name": "can measure me",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/measure.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "measure",
|
|
"name": "can measure another element",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/measure.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "measure",
|
|
"name": "can assign measurements to locals",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/measure.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "measure",
|
|
"name": "can measure with possessive syntax",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/measure.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "measure",
|
|
"name": "can measure with of syntax",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/measure.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "measure",
|
|
"name": "can measure all the supported properties",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/measure.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "morph",
|
|
"name": "basic morph updates content",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/morph.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "morph",
|
|
"name": "morph preserves element identity",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/morph.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "morph",
|
|
"name": "morph updates attributes",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/morph.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "morph",
|
|
"name": "morph adds new children",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/morph.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "morph",
|
|
"name": "morph removes old children",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/morph.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "morph",
|
|
"name": "morph initializes hyperscript on new elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/morph.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "morph",
|
|
"name": "morph cleans up removed hyperscript elements",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/morph.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "morph",
|
|
"name": "morph reorders children by id",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/morph.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "morph",
|
|
"name": "morph preserves matched child identity",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/morph.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "morph",
|
|
"name": "morph with variable content",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/morph.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can pick items from an array",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can pick a single item from an array",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can use 'end' when picking items from an array",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can use 'start' when picking items from an array",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can use negative indices when picking items from an array",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can pick items from a string",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can pick a single item from a string",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can use 'end' when picking items from a string",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can use 'start' when picking items from a string",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can use negative indices when picking items from a string",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can pick a single regex match",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can pick all regex matches",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can pick a single regex match w/ a flag",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "does not hang on zero-length regex matches",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can pick first n items",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can pick last n items",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can pick random item",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can pick random n items",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can pick items using 'of' syntax",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "can pick match using 'of' syntax",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "pick first from null returns null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "pick last from null returns null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "pick random from null returns null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pick",
|
|
"name": "pick match from null returns null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/pick.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pseudoCommand",
|
|
"name": "Basic instance function with expression",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/pseudoCommand.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pseudoCommand",
|
|
"name": "Basic instance function with expression and with",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/pseudoCommand.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pseudoCommand",
|
|
"name": "Basic instance function with expression and on",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/pseudoCommand.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pseudoCommand",
|
|
"name": "Basic instance function with me target",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/pseudoCommand.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pseudoCommand",
|
|
"name": "Can use functions defined outside of the current element",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/pseudoCommand.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pseudoCommand",
|
|
"name": "Basic instance function with me target no preposition",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/pseudoCommand.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pseudoCommand",
|
|
"name": "functions defined alongside can be invoked",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/pseudoCommand.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pseudoCommand",
|
|
"name": "Can use indirect functions with a symbol root",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/pseudoCommand.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pseudoCommand",
|
|
"name": "Can use indirect functions with a function root",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/pseudoCommand.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pseudoCommand",
|
|
"name": "Can use nested indirect functions with a symbol root",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/pseudoCommand.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "pseudoCommand",
|
|
"name": "non-function pseudo-command is an error",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/pseudoCommand.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set properties",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can put directly into nodes",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can put nodes into nodes",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can put directly into symbols",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "me symbol doesn't get stomped on direct write",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set styles",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set javascript globals",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set into class ref w/ flatmapped property",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set into class ref w/ flatmapped property using of",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set local variables",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set into id ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can insert before",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can insert after",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can insert after beginning",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can insert before end",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set into attribute ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set into indirect attribute ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set into indirect attribute ref 2",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set into indirect attribute ref 3",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set into style ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set into indirect style ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set into indirect style ref 2",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can set into indirect style ref 3",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "waits on promises",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can put properties w/ array access syntax",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can put properties w/ array access syntax and var",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can put array vals w/ array access syntax",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can put array vals w/ array access syntax and var",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "properly processes hyperscript in new content in a symbol write",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "properly processes hyperscript in new content in a element target",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "properly processes hyperscript in before",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "properly processes hyperscript at start of",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "properly processes hyperscript at end of",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "properly processes hyperscript after",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "is null tolerant",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "put null into attribute removes it",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can put at start of an array",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "put",
|
|
"name": "can put at end of an array",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/put.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can remove class ref on a single div",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can remove class ref on a single form",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can target another div for class ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can remove non-class attributes",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can remove elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can remove other elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can remove parent element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can remove multiple class refs",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can filter class removal via the when clause",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can remove CSS properties",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can remove multiple CSS properties",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can remove query refs from specific things",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can remove a value from an array",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can remove a value from a set",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can splice an array element by index",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can splice an array with a negative index",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can delete a property via dot notation",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "can delete a property via 'of' form",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "remove",
|
|
"name": "remove on a property whose value is a DOM node still detaches the node",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/remove.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "basic for loop works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "basic for loop with null works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "waiting in for loop works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "basic raw for loop works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "basic raw for loop with null works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "waiting in raw for loop works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "repeat forever works",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "repeat forever works w/o keyword",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "basic in loop works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "index syntax works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "indexed by syntax works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "while keyword works",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "until keyword works",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "until event keyword works",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "only executes the init expression once",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "can nest loops",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "basic times loop works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "times loop with expression works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "loop continue works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "loop break works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "basic property for loop works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "bottom-tested repeat until",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "bottom-tested repeat while",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "bottom-tested loop always runs at least once",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "break exits a simple repeat loop",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "continue skips rest of iteration in simple repeat loop",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "break exits a for-in loop",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "break exits a while loop",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "for loop over undefined skips without error",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "repeat",
|
|
"name": "where clause can use the for loop variable name",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/repeat.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "reset",
|
|
"name": "can reset a form",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/reset.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "reset",
|
|
"name": "reset with no target resets me (form)",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/reset.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "reset",
|
|
"name": "can reset a text input to defaultValue",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/reset.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "reset",
|
|
"name": "can reset a checkbox",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/reset.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "reset",
|
|
"name": "can reset an unchecked checkbox",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/reset.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "reset",
|
|
"name": "can reset a textarea",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/reset.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "reset",
|
|
"name": "can reset a select",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/reset.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "reset",
|
|
"name": "can reset multiple inputs",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/reset.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "scroll",
|
|
"name": "can scroll to an element",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/scroll.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "scroll",
|
|
"name": "can scroll to top of element",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/scroll.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "scroll",
|
|
"name": "can scroll down by amount",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/scroll.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "scroll",
|
|
"name": "can scroll up by amount",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/scroll.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "scroll",
|
|
"name": "can scroll by without direction (defaults to down)",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/scroll.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "scroll",
|
|
"name": "can scroll container by amount",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/scroll.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "scroll",
|
|
"name": "can scroll to element in container",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/scroll.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "scroll",
|
|
"name": "can scroll left by amount",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/scroll.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "select",
|
|
"name": "selects text in an input",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/select.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "select",
|
|
"name": "selects text in a textarea",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/select.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "select",
|
|
"name": "selects implicit me",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/select.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "select",
|
|
"name": "returns selected text",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/select.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "send",
|
|
"name": "can send events",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/send.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "send",
|
|
"name": "can reference sender in events",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/send.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "send",
|
|
"name": "can send events with args",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/send.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "send",
|
|
"name": "can send events with dots",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/send.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "send",
|
|
"name": "can send events with dots with args",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/send.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "send",
|
|
"name": "can send events with colons",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/send.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "send",
|
|
"name": "can send events with colons with args",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/send.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "send",
|
|
"name": "can send events to any expression",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/send.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set properties",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set indirect properties",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set complex indirect properties lhs",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set complex indirect properties rhs",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set chained indirect properties",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set styles",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set javascript globals",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set local variables",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set into id ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set into class ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set into attribute ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set into indirect attribute ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set into indirect attribute ref 2",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set into indirect attribute ref 3",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set into style ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set into indirect style ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set into indirect style ref 2",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set into indirect style ref 3",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "set waits on promises",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set many properties at once with object literal",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set props w/ array access syntax",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set props w/ array access syntax and var",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set arrays w/ array access syntax",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set arrays w/ array access syntax and var",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "handles set url regression properly",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/set.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "settle",
|
|
"name": "can settle me no transition",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/settle.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "settle",
|
|
"name": "can settle target no transition",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/commands/settle.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "settle",
|
|
"name": "can settle a collection of elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/settle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can show element, with display:block by default",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can show form, with display:block by default",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can show element with display:block explicitly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can show element with custom display value",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can show element with inline-block display value",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can show element with opacity:1",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can show element with opacity style literal",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can show element, with visibility:visible",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can show element via the hidden attribute strategy",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can show other elements",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can show multiple elements with inline-block display value",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can show multiple elements as class with inline-block display value",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can use a when clause to show or hide an element",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can use a when clause and a with clause to show or hide an element",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "can filter over a set of elements using the its symbol",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "the result in a when clause refers to previous command result, not element being tested",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "the result after show...when is the matched elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "show",
|
|
"name": "starting off with display none does not stick",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/show.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "swap",
|
|
"name": "can swap two variables",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/swap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "swap",
|
|
"name": "can swap two properties",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/swap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "swap",
|
|
"name": "can swap array elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/swap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "swap",
|
|
"name": "can swap a variable with a property",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/swap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "can take a class from other elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "can take a class from other forms",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "can take a class for other elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "a parent can take a class for other elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "can take an attribute from other elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "can take an attribute with specific value from other elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "can take an attribute value from other elements and set specific values instead",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "can take an attribute value from other elements and set value from an expression instead",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "can take a class and swap it with another via with",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "can take a class and swap it with another via giving",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "giving may follow the from clause as an alternative to with",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "can take an attribute for other elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "a parent can take an attribute for other elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "can take multiple classes from other elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "take",
|
|
"name": "can take multiple classes from specific element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/take.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "tell",
|
|
"name": "establishes a proper beingTold symbol",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/tell.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "tell",
|
|
"name": "does not overwrite the me symbol",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/tell.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "tell",
|
|
"name": "works with an array",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/tell.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "tell",
|
|
"name": "restores a proper implicit me symbol",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/tell.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "tell",
|
|
"name": "ignores null",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/tell.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "tell",
|
|
"name": "you symbol represents the thing being told",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/tell.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "tell",
|
|
"name": "your symbol represents the thing being told",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/tell.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "tell",
|
|
"name": "attributes refer to the thing being told",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/tell.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "tell",
|
|
"name": "yourself attribute also works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/tell.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "tell",
|
|
"name": "tell terminates with a feature",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/tell.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "throw",
|
|
"name": "can throw a basic exception",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/commands/throw.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "throw",
|
|
"name": "can throw an async exception",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/commands/throw.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "throw",
|
|
"name": "async exceptions propagate properly",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/commands/throw.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "throw",
|
|
"name": "async exceptions as throws propagate properly",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/commands/throw.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "throw",
|
|
"name": "can throw inside an event handler",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/throw.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "throw",
|
|
"name": "can respond to exceptions in an event handler with an event handler",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/throw.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "throw",
|
|
"name": "can respond to async exceptions in an event handler with an event handler",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/throw.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle class ref on a single div",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle class ref on a single form",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can target another div for class ref toggle",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle non-class attributes",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle non-class attributes on selects",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle for a fixed amount of time",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle until an event on another element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle between two classes",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle between two attribute values",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle between different attributes",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle multiple class refs",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle display",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle opacity",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle visibility",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle display w/ my",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle opacity w/ my",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle visibility w/ my",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle display on other elt",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle opacity on other elt",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle visibility on other elt",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle crazy tailwinds class ref on a single form",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle *display between two values",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle *opacity between three values",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle a global variable between two values",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "toggle",
|
|
"name": "can toggle a global variable between three values",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/toggle.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition a single property on current element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition with parameterized values",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition a single property on form",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition a single property on current element with the my prefix",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition two properties on current element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition on another element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition on another element with of syntax",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition on another element with possessive",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition on another element with it",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition with a custom transition string",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition with a custom transition time via the over syntax",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition a single property on current element using style ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition a single property on form using style ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition a single property on current element with the my prefix using style ref",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition on query ref with possessive",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can transition on query ref with of syntax",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "transition",
|
|
"name": "can use initial to transition to original value",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/transition.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "trigger",
|
|
"name": "can trigger events",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/trigger.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "trigger",
|
|
"name": "can trigger events with args",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/trigger.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "trigger",
|
|
"name": "can trigger events with dots",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/trigger.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "trigger",
|
|
"name": "can trigger events with dots with args",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/trigger.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "trigger",
|
|
"name": "can trigger events with colons",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/trigger.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "trigger",
|
|
"name": "can trigger events with dots with colons",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/trigger.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "unlessModifier",
|
|
"name": "unless modifier can conditionally execute a command",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/commands/unlessModifier.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "viewTransition",
|
|
"name": "runs the body when view transitions API is unavailable",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-css-transitions",
|
|
"upstream_file": "test/commands/viewTransition.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "viewTransition",
|
|
"name": "runs the body when view transitions API is available",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-css-transitions",
|
|
"upstream_file": "test/commands/viewTransition.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "viewTransition",
|
|
"name": "accepts an optional 'using' type string",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-css-transitions",
|
|
"upstream_file": "test/commands/viewTransition.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "viewTransition",
|
|
"name": "throws if a view transition is already in progress",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-css-transitions",
|
|
"upstream_file": "test/commands/viewTransition.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "viewTransition",
|
|
"name": "exit inside a view transition skips the animation",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-css-transitions",
|
|
"upstream_file": "test/commands/viewTransition.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "viewTransition",
|
|
"name": "halt the event inside a view transition skips the animation",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-css-transitions",
|
|
"upstream_file": "test/commands/viewTransition.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "viewTransition",
|
|
"name": "return inside a def called from a view transition skips the animation",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/commands/viewTransition.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "viewTransition",
|
|
"name": "break inside a loop inside a view transition is NOT replaced",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-css-transitions",
|
|
"upstream_file": "test/commands/viewTransition.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "viewTransition",
|
|
"name": "return inside an if branch inside a view transition skips the animation",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-css-transitions",
|
|
"upstream_file": "test/commands/viewTransition.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "wait",
|
|
"name": "can wait on time",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/wait.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "wait",
|
|
"name": "can wait on event",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/wait.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "wait",
|
|
"name": "waiting on an event sets 'it' to the event",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/wait.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "wait",
|
|
"name": "can destructure properties in a wait",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/wait.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "wait",
|
|
"name": "can wait on event on another element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/wait.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "wait",
|
|
"name": "can wait on event or timeout 1",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/wait.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "wait",
|
|
"name": "can wait on event or timeout 2",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/commands/wait.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "api",
|
|
"name": "processNodes does not reinitialize a node already processed",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/api.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asyncError",
|
|
"name": "rejected promise stops execution",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/asyncError.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asyncError",
|
|
"name": "rejected promise triggers catch block",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/asyncError.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "on a single div",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "toggles",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "can target another div",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "hyperscript can have more than one action",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "can wait",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "can change non-class properties",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "can send events",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "can respond to events on other elements",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "can take a class from other elements",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "can set properties",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "can set styles",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "can send events with args",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "can call functions",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "stores state on elt._hyperscript",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "skips reinitialization if script unchanged",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "reinitializes if script attribute changes",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "cleanup removes event listeners on the element",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "cleanup removes cross-element event listeners",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "cleanup tracks listeners in elt._hyperscript",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "cleanup clears elt._hyperscript",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "sets data-hyperscript-powered on initialized elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "cleanup removes data-hyperscript-powered",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "fires hyperscript:before:init and hyperscript:after:init",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "hyperscript:before:init can cancel initialization",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "fires hyperscript:before:cleanup and hyperscript:after:cleanup",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bootstrap",
|
|
"name": "logAll config logs events to console",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/bootstrap.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "isolated stops ^var resolution",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "closest jumps to matching ancestor",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "closest with no match stops resolution",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "parent of jumps past matching ancestor to its parent",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "isolated allows setting ^var on the isolated element itself",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "evalStatically",
|
|
"name": "works on number literals",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/evalStatically.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "evalStatically",
|
|
"name": "works on boolean literals",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/evalStatically.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "evalStatically",
|
|
"name": "works on null literal",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/evalStatically.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "evalStatically",
|
|
"name": "works on plain string literals",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/evalStatically.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "evalStatically",
|
|
"name": "works on time expressions",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/evalStatically.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "evalStatically",
|
|
"name": "throws on template strings",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/evalStatically.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "evalStatically",
|
|
"name": "throws on symbol references",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/evalStatically.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "evalStatically",
|
|
"name": "throws on math expressions",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/evalStatically.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "renders static content after the template",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "renders template expressions",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "applies init script from _ attribute",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "reactively updates when dependencies change",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "processes hyperscript on inner elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "supports #for loops",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "supports #if conditionals",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "reacts to global state without init script",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "wrapper has display:contents",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "multiple live templates are independent",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "script type=\"text/hyperscript-template\" works as a live template source",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "loop variables are captured and available in _= handlers",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "loop index variable is captured alongside loop variable",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "loop variable capture works with remove for live list",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "scope is refreshed after morph so surviving elements get updated indices",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "liveTemplate",
|
|
"name": "script-based live template preserves ${} in bare attribute position",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/core/liveTemplate.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "basic parse error messages work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "continues initializing elements in the presence of a parse error",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "can have comments in scripts",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "can have comments in attributes",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "can have comments in attributes (triple dash)",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "can have alternate comments in scripts",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "can have alternate comments in attributes",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "can support parenthesized commands and features",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "recovers across feature boundaries and reports all errors",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "recovers across multiple feature errors",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "fires hyperscript:parse-error event with all errors",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "element-level isolation still works with error recovery",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "_hyperscript() evaluate API still throws on first error",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "parser",
|
|
"name": "parse error at EOF on trailing newline does not crash",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/parser.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "reactivity",
|
|
"name": "multiple effects on the same global fire once per write",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/reactivity.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "reactivity",
|
|
"name": "effects fire in source registration order",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/reactivity.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "reactivity",
|
|
"name": "NaN → NaN does not retrigger handlers (Object.is semantics)",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/reactivity.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "reactivity",
|
|
"name": "setting same value does not retrigger handler",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/reactivity.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "reactivity",
|
|
"name": "effect switches its dependencies based on control flow",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/reactivity.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "reactivity",
|
|
"name": "effects on disconnected elements stop automatically",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/reactivity.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "reactivity",
|
|
"name": "reactive loops are detected and stopped after 100 consecutive triggers",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/reactivity.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "reactivity",
|
|
"name": "element-scoped writes only trigger effects on the same element",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/reactivity.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "can pick detail fields out by name",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "can trigger htmx events",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "can remove class by id",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "can remove by clicks elsewhere",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "me and it is properly set when responding to events",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "me symbol works in from expressions",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "can refer to function in init blocks",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "can create a paragraph tag",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "async exception",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "extra chars cause error when evaling",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "string literals can dot-invoked against",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "button query in form",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "can invoke functions w/ numbers in name",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "properly interpolates values",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "properly interpolates values 2",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "regressions",
|
|
"name": "listen for event on form",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/regressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtime",
|
|
"name": "has proper stack",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/core/runtime.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtime",
|
|
"name": "has proper stack from event handler",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/core/runtime.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtime",
|
|
"name": "hypertrace is reasonable",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/core/runtime.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtime",
|
|
"name": "hypertrace from javascript is reasonable",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/core/runtime.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtime",
|
|
"name": "async hypertrace is reasonable",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/core/runtime.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtime",
|
|
"name": "arrays args are handled properly wrt Promises",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/core/runtime.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtime",
|
|
"name": "scalar args are handled properly wrt Promises",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/core/runtime.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports basic function invocation null errors properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports basic function invocation null errors properly w/ possessives",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports basic function invocation null errors properly w/ of",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on sets properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on settle command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on add command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on remove command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on toggle command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on show command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on hide command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on put command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on transition command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on send command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on trigger command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on increment command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on decrement command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on default command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "runtimeErrors",
|
|
"name": "reports null errors on measure command properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/runtimeErrors.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "locally scoped variables work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "locally scoped variables don't clash with built-in variables",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "locally scoped variables do not span features",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "element scoped variables work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "element scoped variables work w/short syntax",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "element scoped variables support pseudo-possessive syntax",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "element scoped variables span features",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "element scoped variables span features w/short syntax",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "element scoped variables are local only to element",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "global scoped variables work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "global scoped variables work w/ short syntax",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "setting an element scoped variable spans features",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "setting a global scoped variable spans features",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "basic behavior scoping works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "behavior scoping is at the element level",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "behavior scoping is isolated from the core element scope",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "behavior scoping is isolated from other behaviors",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "variables are hoisted",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "global scoped variables span features",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "scoping",
|
|
"name": "set favors local variables over global variables",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/core/scoping.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "security",
|
|
"name": "on a single div",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/security.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "sourceInfo",
|
|
"name": "debug",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/sourceInfo.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "sourceInfo",
|
|
"name": "get source works for expressions",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/sourceInfo.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "sourceInfo",
|
|
"name": "get source works for statements",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/sourceInfo.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "sourceInfo",
|
|
"name": "get line works for statements",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/sourceInfo.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles basic token types",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles whitespace properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles comments properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles class identifiers properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles id references properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles identifiers properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles identifiers with numbers properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles numbers properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles strings properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles all special escapes properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles hex escapes properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles strings properly 2",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles operators properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles look ahead property",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles template bootstrap properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "handles $ in template properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tokenizer",
|
|
"name": "string interpolation isnt surprising",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/core/tokenizer.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "can create an array literal",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "can index an array value at the beginning of the array",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "can index an array value in the middle of the array",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "can index an array value at the end of the array",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "can index an array value",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "can index an array value with an expression",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "can get the range of first values in an array",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "can get the range of middle values in an array",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "can get the range of middle values in an array WITHOUT EXTRA SPACES",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "can get the range of middle values in an array using an expression",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "can get the range of last values in an array",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "can get the range of last values in an array WITHOUT EXTRA SPACES",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "errors when index exceeds array length",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayIndex",
|
|
"name": "errors when indexed value is not an array",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayIndex.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayLiteral",
|
|
"name": "empty array literals work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayLiteral",
|
|
"name": "one element array literal works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayLiteral",
|
|
"name": "multi element array literal works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayLiteral",
|
|
"name": "mixed-type array literal works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayLiteral",
|
|
"name": "nested array literals work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayLiteral",
|
|
"name": "deeply nested array literals work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayLiteral",
|
|
"name": "arrays containing objects work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "arrayLiteral",
|
|
"name": "arrays can contain expressions",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/arrayLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts null as null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts value as String",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts value as Int",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts value as Float",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts value as Fixed",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts value as Number",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts value as Boolean",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts value as Date",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "can use the a modifier if you like",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "parses string as JSON to object",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts value as JSONString",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "pipe operator chains conversions",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts string as Object",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "can use the an modifier if you'd like",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts value as Object",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts an input element into Values",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "collects duplicate text inputs into an array",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts a form element into Values",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts a query selector into Values",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts radio buttons into a Value correctly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts checkboxes into a Value correctly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts multiple selects into a Value correctly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts multiple selects with programmatically changed selections",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts a complete form into Values",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts an element into HTML",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts a NodeList into HTML",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts an array into HTML",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts numbers things 'HTML'",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts strings into fragments",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts elements into fragments",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts arrays into fragments",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "can accept custom conversions",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "can accept custom dynamic conversions",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts a form element into Values | JSONString",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts a form element into Values | FormEncoded",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts array as Set",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts object as Map",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts object as Keys",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts object as Entries",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts array as Reversed",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts array as Unique",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "asExpression",
|
|
"name": "converts nested array as Flat",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/asExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "assignableElements",
|
|
"name": "set #id replaces element with HTML string",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/assignableElements.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "assignableElements",
|
|
"name": "set #id replaces element with another element",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/assignableElements.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "assignableElements",
|
|
"name": "set .class replaces all matching elements",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/assignableElements.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "assignableElements",
|
|
"name": "set <query/> replaces all matching elements",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/assignableElements.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "assignableElements",
|
|
"name": "set closest replaces ancestor",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/assignableElements.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "assignableElements",
|
|
"name": "hyperscript in replacement content is initialized",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/assignableElements.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "assignableElements",
|
|
"name": "swap #a with #b swaps DOM positions",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/assignableElements.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "assignableElements",
|
|
"name": "put into still works as innerHTML",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/assignableElements.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef with no value works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:[@attr]",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef with dashes name works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:[@attr]",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can be set as symbol",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can have value used in add commands",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can have value in quotes used in add commands",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can have value in quotes with spaces used in add commands",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can be set as prop",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:[@attr]",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can be set through possessive",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can be set indirectly",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:[@attr]",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can be put indirectly",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:[@attr]",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can be put as symbol",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef with no value works w/ short syntax",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef with dashes name works w/ short syntax",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can be set as symbol w/ short syntax",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can be set as prop w/ short syntax",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can be set through possessive w/ short syntax",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can be set indirectly w/ short syntax",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can be put indirectly w/ short syntax",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can be put as symbol w/ short syntax",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can have value used in add commands w/ short syntax",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can have value in quotes used in add commands w/ short syntax",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "attributeRef",
|
|
"name": "attributeRef can have value in quotes with spaces used in add commands w/ short syntax",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/attributeRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "beep!",
|
|
"name": "beeps a basic value",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/beep!.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "beep!",
|
|
"name": "beeps a null value",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/beep!.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "beep!",
|
|
"name": "beeps a formatted string value",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/beep!.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "beep!",
|
|
"name": "beeps the result of an ElementCollection",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/beep!.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "beep!",
|
|
"name": "can be cancelled",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/beep!.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "beep!",
|
|
"name": "can capture information from event",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/beep!.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "blockLiteral",
|
|
"name": "basic block literals work",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/blockLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "blockLiteral",
|
|
"name": "basic identity works",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/blockLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "blockLiteral",
|
|
"name": "basic two arg identity works",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/blockLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "blockLiteral",
|
|
"name": "can map an array",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/blockLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "boolean",
|
|
"name": "true boolean literals work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/boolean.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "boolean",
|
|
"name": "false boolean literals work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/boolean.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "classRef",
|
|
"name": "basic classRef works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/classRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "classRef",
|
|
"name": "basic classRef works w no match",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/classRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "classRef",
|
|
"name": "dashed class ref works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/classRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "classRef",
|
|
"name": "colon class ref works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/classRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "classRef",
|
|
"name": "multiple colon class ref works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/classRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "classRef",
|
|
"name": "template classRef works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/classRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "classRef",
|
|
"name": "leading minus class ref works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/classRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "classRef",
|
|
"name": "slashes in class references work",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/classRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "classRef",
|
|
"name": "tailwind insanity in class references work",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/classRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "closest",
|
|
"name": "basic query return values",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/closest.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "closest",
|
|
"name": "parent modifier works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/closest.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "closest",
|
|
"name": "attributes resolve as attributes",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/closest.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "closest",
|
|
"name": "attributes can be looked up and referred to in same expression",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/closest.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "closest",
|
|
"name": "attributes can be set via the closest expression",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/closest.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "closest",
|
|
"name": "parenthesizing allows you to nest to modifiers properly",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/closest.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "closest",
|
|
"name": "attributes can be set via the closest expression 2",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/closest.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "closest",
|
|
"name": "closest does not consume a following where clause",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/closest.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "closest",
|
|
"name": "closest with to modifier still works after parse change",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/closest.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "closest",
|
|
"name": "returns an array where appropriate",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/closest.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "filters an array by condition",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "filters with comparison",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "works with DOM elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "sorts by a property",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "sorts descending",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "sorts numbers by a computed key",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "maps to a property",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "maps with an expression",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "where on null returns null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "sorted by on null returns null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "mapped to on null returns null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "split by on null returns null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "joined by on null returns null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "where on undefined returns undefined",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "where then mapped to",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "sorted by then mapped to",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "where then sorted by then mapped to",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "the result inside where refers to previous command result, not current element",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "where binds after in without parens",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "sorted by binds after in without parens",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "where binds after property access",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "where after in with mapped to",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "where binds after in on closest",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "where in init followed by on feature",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "where in component init followed by on feature",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "where with is not me in component template",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "where with is not me followed by on feature",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "collectionExpressions",
|
|
"name": "full select-all pattern with multiple on features",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/collectionExpressions.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "less than works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "less than or equal works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "greater than works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "greater than or equal works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "equal works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "triple equal works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "not equal works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "triple not equal works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "equals works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is equal to works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is really equal to works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "really equals works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not equal to works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not really equal to works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is in works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not in works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "I am in works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "I am not in works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "match works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "does not match works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "match works w/ strings",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "does not match works w/ strings",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "contains works with elts",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "contains works with arrays",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "contains works with css literals",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "include works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "includes works with arrays",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "includes works with css literals",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "does not contain works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is empty works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not empty works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is a works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not a works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is an works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not an works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is a works with instanceof fallback",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is a Node works via instanceof",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not a works with instanceof fallback",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "english less than works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "english less than or equal works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "english greater than works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "english greater than or equal works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "exists works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:<sel/>",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "does not exist works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:<sel/>",
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is ignoring case works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not ignoring case works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "contains ignoring case works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "matches ignoring case works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "starts with works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "ends with works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "does not start with works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "does not end with works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "starts with null is false",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "ends with null is false",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "starts with ignoring case works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "ends with ignoring case works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "starts with coerces to string",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "ends with coerces to string",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is between works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not between works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "between works with strings",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "I am between works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "I am not between works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "precedes works",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "follows works",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "does not precede works",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "does not follow works",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "precedes with null is false",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "I precede works",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is really works without equal to",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not really works without equal to",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is equal works without to",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not equal works without to",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "am works as alias for is",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not undefined still works as equality",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not null still works as equality",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is falls back to boolean property when rhs is undefined",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is not falls back to boolean property when rhs is undefined",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is boolean property works with disabled",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is still does equality when rhs variable exists",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "comparisonOperator",
|
|
"name": "is boolean property works in where clause",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/comparisonOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "cookies",
|
|
"name": "basic set cookie values work",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/cookies.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "cookies",
|
|
"name": "update cookie values work",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/cookies.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "cookies",
|
|
"name": "basic clear cookie values work",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/cookies.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "cookies",
|
|
"name": "iterate cookies values work",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/cookies.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "cookies",
|
|
"name": "length is 0 when no cookies are set",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/cookies.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "child reads ^var set by parent",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "child writes ^var and parent sees it",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "deeply nested child reads ^var from grandparent",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "closest ancestor wins (shadowing)",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "sibling subtrees have independent ^vars",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "write to ^var not found anywhere creates on current element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "child write updates the ancestor, not a local copy",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "increment works on inherited var",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "dom keyword works as scope modifier",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "set ^var on explicit element",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "on clause targets a specific ancestor",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "on clause with id reference",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "when reacts to ^var changes",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "always reacts to ^var changes",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "multiple children react to same ^var",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "sibling subtrees react independently with ^var",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "bind works with ^var",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "derived ^var chains reactively",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "effect stops when element is removed",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "dom-scope",
|
|
"name": "dedup prevents re-fire on same ^var value",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/dom-scope.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "functionCalls",
|
|
"name": "can invoke global function",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/functionCalls.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "functionCalls",
|
|
"name": "can invoke function on object",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/functionCalls.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "functionCalls",
|
|
"name": "can invoke global function w/ async arg",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/functionCalls.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "functionCalls",
|
|
"name": "can invoke function on object w/ async arg",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/functionCalls.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "functionCalls",
|
|
"name": "can invoke function on object w/ async root & arg",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/functionCalls.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "functionCalls",
|
|
"name": "can pass multiple arguments",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/functionCalls.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "functionCalls",
|
|
"name": "can pass no arguments",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/functionCalls.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "functionCalls",
|
|
"name": "can chain calls on the result of a call",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/functionCalls.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "functionCalls",
|
|
"name": "can access a property of a call's result",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/functionCalls.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "functionCalls",
|
|
"name": "can pass an expression as an argument",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/functionCalls.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "functionCalls",
|
|
"name": "can pass an object literal as an argument",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/functionCalls.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "functionCalls",
|
|
"name": "can pass an array literal as an argument",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/functionCalls.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "idRef",
|
|
"name": "basic id ref works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/idRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "idRef",
|
|
"name": "basic id ref works w no match",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/idRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "idRef",
|
|
"name": "template id ref works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/idRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "idRef",
|
|
"name": "id ref works from a disconnected element",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/idRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "in",
|
|
"name": "basic no query return values",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/in.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "in",
|
|
"name": "basic query return values",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/in.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "in",
|
|
"name": "id returns values",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/in.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "in",
|
|
"name": "id template returns values",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/in.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "in",
|
|
"name": "class returns values",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/in.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "in",
|
|
"name": "class template returns values",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/in.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "in",
|
|
"name": "query returns values",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/in.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "in",
|
|
"name": "query template returns values",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/in.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "in",
|
|
"name": "in expression binds to unaryOperators",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/in.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "in",
|
|
"name": "null value in array returns empty",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/in.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "logicalOperator",
|
|
"name": "and works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/logicalOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "logicalOperator",
|
|
"name": "or works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/logicalOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "logicalOperator",
|
|
"name": "and works w/ more than one value",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/logicalOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "logicalOperator",
|
|
"name": "unparenthesized expressions with multiple operators cause an error",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/logicalOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "logicalOperator",
|
|
"name": "parenthesized expressions with multiple operators work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/logicalOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "logicalOperator",
|
|
"name": "should short circuit with and expression",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/logicalOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "logicalOperator",
|
|
"name": "should short circuit with or expression",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/logicalOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "logicalOperator",
|
|
"name": "and short-circuits when lhs promise resolves to false",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/logicalOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "logicalOperator",
|
|
"name": "or short-circuits when lhs promise resolves to true",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/logicalOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "logicalOperator",
|
|
"name": "or evaluates rhs when lhs promise resolves to false",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/logicalOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "addition works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "string concat works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "subtraction works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "multiplication works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "division works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "mod works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "addition works w/ more than one value",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "unparenthesized expressions with multiple operators cause an error",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "parenthesized expressions with multiple operators work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "can use mixed expressions",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "array + array concats",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "array + single value appends",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "array + array does not mutate original",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "array concat chains",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "mathOperator",
|
|
"name": "empty array + array works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/mathOperator.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "no",
|
|
"name": "no returns true for null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/no.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "no",
|
|
"name": "no returns false for non-null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/no.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "no",
|
|
"name": "no returns true for empty array",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/no.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "no",
|
|
"name": "no returns true for empty selector",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/no.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "no",
|
|
"name": "no returns false for non-empty array",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/no.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "no",
|
|
"name": "no with where filters then checks emptiness",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/no.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "no",
|
|
"name": "no with where returns false when matches exist",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/no.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "no",
|
|
"name": "no with where and is not",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/no.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "no",
|
|
"name": "no with where on DOM elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/no.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "not",
|
|
"name": "not inverts true",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/not.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "not",
|
|
"name": "not inverts false",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/not.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "not",
|
|
"name": "two nots make a true",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/not.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "not",
|
|
"name": "not with numeric truthy/falsy values",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/not.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "not",
|
|
"name": "not with string truthy/falsy values",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/not.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "not",
|
|
"name": "not null and not undefined",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/not.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "not",
|
|
"name": "not has higher precedence than and",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/not.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "not",
|
|
"name": "not has higher precedence than or",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/not.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "not",
|
|
"name": "not inverts equality comparisons",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/not.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "null",
|
|
"name": "null literal work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/null.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "numbers",
|
|
"name": "handles numbers properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/numbers.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "objectLiteral",
|
|
"name": "empty object literals work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/objectLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "objectLiteral",
|
|
"name": "one field object literal works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/objectLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "objectLiteral",
|
|
"name": "multi-field object literal works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/objectLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "objectLiteral",
|
|
"name": "strings work in object literal field names",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/objectLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "objectLiteral",
|
|
"name": "hyphens work in object literal field names",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/objectLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "objectLiteral",
|
|
"name": "allows trailing commas",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/objectLiteral.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "objectLiteral",
|
|
"name": "expressions work in object literal field names",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/objectLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "objectLiteral",
|
|
"name": "nested object literals work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/objectLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "objectLiteral",
|
|
"name": "deeply nested object literals work",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/objectLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "objectLiteral",
|
|
"name": "object literals can contain arrays",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/objectLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "objectLiteral",
|
|
"name": "object literal values can be expressions",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/objectLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "objectLiteral",
|
|
"name": "mixed field name styles in one literal",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/expressions/objectLiteral.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "positionalExpression",
|
|
"name": "first works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/positionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "positionalExpression",
|
|
"name": "last works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/positionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "positionalExpression",
|
|
"name": "first works w/ array-like",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/positionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "positionalExpression",
|
|
"name": "last works w/ array-like",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/positionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "positionalExpression",
|
|
"name": "first works w/ node",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/positionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "positionalExpression",
|
|
"name": "last works w/ node",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/positionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "positionalExpression",
|
|
"name": "is null safe",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/positionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access basic properties",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "is null safe",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access my properties",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "my property is null safe",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access its properties",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "its property is null safe",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access properties on idrefs",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access properties on idrefs 2",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access properties on classrefs",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access properties on classrefs 2",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access properties on queryrefs",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access properties on queryrefs 2",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access basic attribute",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access my attribute",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access multiple basic attributes",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can set basic attributes",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can set multiple basic attributes",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access basic style",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access my style",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can access multiple basic styles",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can set root styles",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can set basic styles",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "possessiveExpression",
|
|
"name": "can set multiple basic styles",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/possessiveExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "propertyAccess",
|
|
"name": "can access basic properties",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/propertyAccess.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "propertyAccess",
|
|
"name": "is null safe",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/propertyAccess.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "propertyAccess",
|
|
"name": "of form works",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/propertyAccess.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "propertyAccess",
|
|
"name": "of form works w/ complex left side",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/propertyAccess.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "propertyAccess",
|
|
"name": "of form works w/ complex right side",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/propertyAccess.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "propertyAccess",
|
|
"name": "works properly w/ boolean properties",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/propertyAccess.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "propertyAccess",
|
|
"name": "chained property access (three levels)",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/propertyAccess.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "propertyAccess",
|
|
"name": "chained property access (four levels)",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/propertyAccess.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "propertyAccess",
|
|
"name": "null-safe access through an undefined intermediate",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/propertyAccess.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "propertyAccess",
|
|
"name": "property access on function result",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/propertyAccess.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "propertyAccess",
|
|
"name": "of form chains through multiple levels",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/propertyAccess.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "propertyAccess",
|
|
"name": "mixing dot and of forms",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/propertyAccess.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "queryRef",
|
|
"name": "basic queryRef works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/queryRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "queryRef",
|
|
"name": "basic queryRef works w/ multiple matches",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/queryRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "queryRef",
|
|
"name": "basic queryRef works w/ properties",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/queryRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "queryRef",
|
|
"name": "basic queryRef works w/ funny selector",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/queryRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "queryRef",
|
|
"name": "basic queryRef works w/ div selector",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/queryRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "queryRef",
|
|
"name": "basic queryRef works w no match",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/queryRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "queryRef",
|
|
"name": "basic queryRef works w properties w/ strings",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/queryRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "queryRef",
|
|
"name": "queryRef w/ $ works",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/queryRef.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "queryRef",
|
|
"name": "queryRef w/ $ no curlies works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/queryRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "queryRef",
|
|
"name": "can interpolate elements into queries",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/expressions/queryRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "queryRef",
|
|
"name": "queryRefs support colons properly",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/queryRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "queryRef",
|
|
"name": "queryRefs support tildes properly",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/queryRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "queryRef",
|
|
"name": "queryRefs support dollar properly",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/queryRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "next works properly among siblings",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "next works properly among siblings with wrapping",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "relative next works properly among siblings w/ query",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "relative next works properly among siblings w/ class",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "relative next works properly among siblings w/ query & class",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "previous works properly among siblings",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "previous works properly among siblings with wrapping",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "relative previous works properly among siblings w/ query",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "relative previous works properly among siblings w/ class",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "relative previous works properly among siblings w/ query & class",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "properly constrains via the within modifier",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "next works properly with array-like",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "next works properly with array-like and wrap",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "next works properly with array-like no match",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:<sel/>",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "next works properly with array-like no match and wrap",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:<sel/>",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "previous works properly with array-like",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:<sel/>",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "previous works properly with array-like and wrap",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "previous works properly with array-like no match",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:<sel/>",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "previous works properly with array-like no match and wrap",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:<sel/>",
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "can access property of next element with possessive",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "can access property of previous element with possessive",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "can access style of next element with possessive",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "relativePositionalExpression",
|
|
"name": "can write to next element with put command",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/relativePositionalExpression.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "some",
|
|
"name": "some returns false for null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/some.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "some",
|
|
"name": "some returns true for non-null",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/some.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "some",
|
|
"name": "some returns false for empty array",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/some.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "some",
|
|
"name": "some returns false for empty selector",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/some.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "some",
|
|
"name": "some returns true for nonempty selector",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:<sel/>",
|
|
"upstream_file": "test/expressions/some.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "some",
|
|
"name": "some returns true for filled array",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/some.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "splitJoin",
|
|
"name": "splits a string by delimiter",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/splitJoin.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "splitJoin",
|
|
"name": "splits by whitespace",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/splitJoin.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "splitJoin",
|
|
"name": "joins an array with delimiter",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/splitJoin.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "splitJoin",
|
|
"name": "joins with empty string",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/splitJoin.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "splitJoin",
|
|
"name": "split then where then joined",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/splitJoin.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "splitJoin",
|
|
"name": "split then sorted then joined",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/splitJoin.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "splitJoin",
|
|
"name": "split then mapped then joined",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/expressions/splitJoin.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "stringPostfix",
|
|
"name": "handles basic postfix strings properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/stringPostfix.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "stringPostfix",
|
|
"name": "handles basic postfix strings with spaces properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/stringPostfix.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "stringPostfix",
|
|
"name": "handles expression roots properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/stringPostfix.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "strings",
|
|
"name": "handles strings properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/strings.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "strings",
|
|
"name": "string templates work properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/strings.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "strings",
|
|
"name": "string templates work w/ props",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/strings.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "strings",
|
|
"name": "string templates work w/ props w/ braces",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/expressions/strings.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "strings",
|
|
"name": "string templates work properly w braces",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/expressions/strings.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "strings",
|
|
"name": "string templates preserve white space",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/expressions/strings.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "strings",
|
|
"name": "should handle strings with tags and quotes",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/expressions/strings.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "strings",
|
|
"name": "should handle back slashes in non-template content",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/expressions/strings.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "styleRef",
|
|
"name": "basic style ref works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/styleRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "styleRef",
|
|
"name": "calculated style ref works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/styleRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "styleRef",
|
|
"name": "possessive style ref works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/styleRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "styleRef",
|
|
"name": "of style ref works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/styleRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "styleRef",
|
|
"name": "calculated possessive style ref works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/styleRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "styleRef",
|
|
"name": "calculated of style ref works",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/styleRef.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "symbol",
|
|
"name": "resolves local context properly",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/symbol.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "symbol",
|
|
"name": "resolves global context properly",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/symbol.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "typecheck",
|
|
"name": "can do basic string typecheck",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/typecheck.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "typecheck",
|
|
"name": "can do null as string typecheck",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/typecheck.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "typecheck",
|
|
"name": "can do basic non-string typecheck failure",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/typecheck.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "typecheck",
|
|
"name": "can do basic string non-null typecheck",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/typecheck.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "typecheck",
|
|
"name": "null causes null safe string check to fail",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/expressions/typecheck.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "registers a custom element from a template",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "renders template expressions",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "applies _ hyperscript to component instance",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "processes _ on inner elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "reactively updates template expressions",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "supports multiple independent instances",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "reads attributes via @",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "supports #for loops in template",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "supports #if conditionals in template",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "substitutes slot content into template",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "blocks processing of inner hyperscript until render",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "supports named slots",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "does not process slotted _ attributes prematurely",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "slotted content resolves ^var from outer scope, not component scope",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "component isolation prevents ^var leaking inward",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "bind keeps ^var in sync with attribute changes",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "attrs evaluates attribute as hyperscript in parent scope",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "attrs works with bind for reactive pass-through",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "attrs bind is bidirectional - inner changes flow outward",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "component",
|
|
"name": "extracts <style> blocks and wraps them in @scope",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/ext/component.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "eventsource",
|
|
"name": "receives unnamed messages",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/ext/eventsource.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "eventsource",
|
|
"name": "receives named events",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/ext/eventsource.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "eventsource",
|
|
"name": "wildcard pattern matches multiple events",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/ext/eventsource.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "eventsource",
|
|
"name": "catch-all * matches every event",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/ext/eventsource.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "eventsource",
|
|
"name": "as json decodes data",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/ext/eventsource.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "eventsource",
|
|
"name": "with method sends POST",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/ext/eventsource.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "eventsource",
|
|
"name": "with headers sends custom headers",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/ext/eventsource.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "eventsource",
|
|
"name": "open and close lifecycle events fire",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/ext/eventsource.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "eventsource",
|
|
"name": "close() stops the connection",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/ext/eventsource.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "eventsource",
|
|
"name": "dynamic open with new URL",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/ext/eventsource.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "eventsource",
|
|
"name": "dispatches named SSE events on the element",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/eventsource.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "eventsource",
|
|
"name": "iterates plain messages with for loop",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/eventsource.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "eventsource",
|
|
"name": "fires streamEnd when the stream closes",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/eventsource.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "hs-include",
|
|
"name": "includes a named element-scoped variable",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/hs-include.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "hs-include",
|
|
"name": "includes multiple named variables",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/hs-include.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "hs-include",
|
|
"name": "wildcard includes all element-scoped vars",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/hs-include.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "hs-include",
|
|
"name": "resolves inherited var via ^",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/hs-include.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "hs-include",
|
|
"name": "resolves var from another element via #selector",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/hs-include.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "hs-include",
|
|
"name": "JSON-serializes object values",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/hs-include.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "hs-include",
|
|
"name": "hs-include:inherited applies to descendant triggers",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/hs-include.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "hs-include",
|
|
"name": "elements without hs-include are unaffected",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/hs-include.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "hs-include",
|
|
"name": "missing variables are silently skipped",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/hs-include.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "hs-include",
|
|
"name": "direct hs-include takes precedence over inherited",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/hs-include.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tailwind",
|
|
"name": "can hide element, with tailwindcss hidden class default strategy",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/tailwind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tailwind",
|
|
"name": "can hide element, with tailwindcss invisible class default strategy",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/tailwind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tailwind",
|
|
"name": "can hide element, with tailwindcss opacity-0 class default strategy",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/tailwind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tailwind",
|
|
"name": "can hide element, with tailwindcss hidden class",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/tailwind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tailwind",
|
|
"name": "can hide element, with tailwindcss invisible class",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/tailwind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tailwind",
|
|
"name": "can hide element, with tailwindcss opacity-0 class",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/tailwind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tailwind",
|
|
"name": "can show element, with tailwindcss removing hidden class default strategy",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/tailwind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tailwind",
|
|
"name": "can show element, with tailwindcss removing invisible class default strategy",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/tailwind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tailwind",
|
|
"name": "can show element, with tailwindcss removing opacity-0 class default strategy",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/tailwind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tailwind",
|
|
"name": "can show element, with tailwindcss removing hidden class",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/tailwind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tailwind",
|
|
"name": "can show element, with tailwindcss removing invisible class",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/tailwind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "tailwind",
|
|
"name": "can show element, with tailwindcss removing opacity-0 class",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/ext/tailwind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "behavior",
|
|
"name": "can define behaviors",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/features/behavior.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "behavior",
|
|
"name": "can install behaviors",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/features/behavior.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "behavior",
|
|
"name": "can pass arguments to behaviors",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/features/behavior.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "behavior",
|
|
"name": "supports init blocks in behaviors",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/features/behavior.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "behavior",
|
|
"name": "can pass element arguments to listen to in behaviors",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/features/behavior.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "behavior",
|
|
"name": "can refer to arguments in init blocks",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/features/behavior.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "behavior",
|
|
"name": "can declare variables in init blocks",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/features/behavior.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "behavior",
|
|
"name": "install resolves namespaced behavior paths",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/features/behavior.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "behavior",
|
|
"name": "install throws when the behavior path does not exist",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/features/behavior.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "behavior",
|
|
"name": "install throws when the path resolves to a non-function",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/features/behavior.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "syncs variable and input value in both directions",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "syncs variable and attribute in both directions",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "dedup prevents infinite loop in two-way bind",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "\"with\" is a synonym for \"and\"",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "shorthand on text input binds to value",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "shorthand on checkbox binds to checked",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "shorthand on textarea binds to value",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "shorthand on select binds to value",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "unsupported element: bind to plain div errors",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "shorthand on type=number preserves number type",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "boolean bind to attribute uses presence/absence",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "boolean bind to aria-* attribute uses \"true\"/\"false\" strings",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "style bind is one-way: variable drives style, not vice versa",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "same value does not re-set input (prevents cursor jump)",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "external JS property write does not sync (known limitation)",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "form.reset() syncs variable back to default value",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "clicking a radio sets the variable to its value",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "setting variable programmatically checks the matching radio",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "initial value checks the correct radio on load",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "variable drives class: setting variable adds/removes class",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "external class change syncs back to variable",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "right side wins on class init",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "init: right side wins - input value (Y) overwrites variable (X)",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "init: right side wins - variable (Y) overwrites input value (X)",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "init: right side wins - attribute (Y) initializes variable (X)",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "init: right side wins - variable (Y) initializes attribute (X)",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "init: right side wins - variable (Y) drives class (X)",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "init: right side wins - class (Y) drives variable (X)",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "possessive property: bind $var to my value",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "possessive attribute: bind $var and my @data-label",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "of-expression: bind $var to value of #input",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "class bound to another element checkbox",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "attribute bound to another element input value",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "two inputs synced via bind",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "bind variable to element by id auto-detects value",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "bind variable to checkbox by id auto-detects checked",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "bind variable to number input by id auto-detects valueAsNumber",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "bind element to element: both sides auto-detect",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "right side wins on init: variable (Y) initializes input (X)",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "right side wins on init: input (Y) initializes variable (X)",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "bind to contenteditable element auto-detects textContent",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "bind to custom element with value property auto-detects value",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "radio change listener is removed on cleanup",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "bind",
|
|
"name": "form reset listener is removed on cleanup",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/bind.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can define a basic no arg function",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can define a basic one arg function",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "functions can be namespaced",
|
|
"complexity": "script-tag",
|
|
"status": "skip-listed",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "is called synchronously",
|
|
"complexity": "script-tag",
|
|
"status": "skip-listed",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can call asynchronously",
|
|
"complexity": "script-tag",
|
|
"status": "skip-listed",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can return a value synchronously",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can exit",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "exit stops execution mid-function",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can return without a value",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can return a value asynchronously",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can interop with javascript",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can interop with javascript asynchronously",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can catch exceptions",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can rethrow in catch blocks",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can return in catch blocks",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can catch async exceptions",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can catch nested async exceptions",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can rethrow in async catch blocks",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can return in async catch blocks",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can install a function on an element and use in children w/ no leak",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can install a function on an element and use in children w/ return value",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "can install a function on an element and use me symbol correctly",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "finally blocks run normally",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "finally blocks run when an exception occurs",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "finally blocks run when an exception expr occurs",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "async finally blocks run normally",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "def",
|
|
"name": "async finally blocks run when an exception occurs",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/def.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "init",
|
|
"name": "can define an init block inline",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/init.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "init",
|
|
"name": "can define an init block in a script",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/init.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "init",
|
|
"name": "can initialize immediately",
|
|
"complexity": "script-tag",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/init.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "js",
|
|
"name": "can run js at the top level",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/features/js.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "js",
|
|
"name": "can expose globals",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/features/js.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "js",
|
|
"name": "can expose functions",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/features/js.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "js",
|
|
"name": "can hide functions",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/features/js.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "js",
|
|
"name": "does not expose variables",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-in-known-category",
|
|
"upstream_file": "test/features/js.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "derives a variable from a computed expression",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "updates DOM text reactively with put",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "sets an attribute reactively",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "sets a style reactively",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "puts a computed dollar amount into the DOM",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "block form re-runs all commands when any dependency changes",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "separate live statements create independent effects",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "block form cascades inter-dependent commands",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "toggles a class based on a boolean variable",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "toggles display style based on a boolean variable",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "effects stop when element is removed from DOM",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "conditional branch only tracks the active dependency",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "multiple live on same element work independently",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "live and when on same element do not interfere",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "bind and live on same element do not interfere",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "reactive effects are stopped on cleanup",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "append triggers live block",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "push via pseudo-command triggers live block",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "push via call triggers live block",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "array + still works with live",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "set property still works with live",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "property change on object in array triggers live re-render",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "live",
|
|
"name": "push object then modify its property both trigger live",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/live.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can respond to events with dots in names",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can respond to events with colons in names",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can respond to events with minus in names",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can respond to events on other elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "listeners on other elements are removed when the registering element is removed",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "listeners on self are not removed when the element is removed",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "supports \"elsewhere\" modifier",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "supports \"from elsewhere\" modifier",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can pick detail fields out by name",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "handles custom events with null detail",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can pick event properties out by name",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can fire an event on load",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can be in a top level script tag",
|
|
"complexity": "script-tag",
|
|
"status": "skip-listed",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can have a simple event filter",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can refer to event properties directly in filter",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can refer to event detail properties directly in filter",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can click after a positive event filter",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "multiple event handlers at a time are allowed to execute with the every keyword",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can have multiple event handlers",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can have multiple event handlers, no end",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can queue events",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can queue first event",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can queue last event",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can queue all events",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "queue none does not allow future queued events",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can invoke on multiple events",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can listen for events in another element (lazy)",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "on first click fires only once",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can filter events based on count",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can filter events based on count range",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can filter events based on unbounded count range",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can mix ranges",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can listen for general mutations",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can listen for attribute mutations",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can listen for specific attribute mutations",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can listen for specific attribute mutations and filter out other attribute mutations",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can listen for childList mutations",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can listen for childList mutation filter out other mutations",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can listen for characterData mutation filter out other mutations",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can listen for multiple mutations",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can listen for multiple mutations 2",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can listen for attribute mutations on other elements",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "each behavior installation has its own event queue",
|
|
"complexity": "script-tag",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can catch exceptions thrown in js functions",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can catch exceptions thrown in hyperscript functions",
|
|
"complexity": "script-tag",
|
|
"status": "skip-listed",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can catch top-level exceptions",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can catch async top-level exceptions",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "async exceptions don't kill the event queue",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "exceptions in catch block don't kill the event queue",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "uncaught exceptions trigger 'exception' event",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "caught exceptions do not trigger 'exception' event",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "rethrown exceptions trigger 'exception' event",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "basic finally blocks work",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "finally blocks work when exception thrown in catch",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "async basic finally blocks work",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "async finally blocks work when exception thrown in catch",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "async exceptions in finally block don't kill the event queue",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "exceptions in finally block don't kill the event queue",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can ignore when target doesn't exist",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "can handle an or after a from clause",
|
|
"complexity": "simple",
|
|
"status": "skip-listed",
|
|
"block_reason": "translation-TBD",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "debounced at <time> collapses rapid events to the last one",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "debounced at <time> resets the timer on each event",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "throttled at <time> drops events within the window",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "throttled at <time> allows events after the window elapses",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "on intersection fires when the element is in the viewport",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "needs-intersection-observer",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "on intersection having threshold parses and fires",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "on intersection having margin parses and fires",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "on load from window responds to window load events",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "halt the event stops propagation to ancestors",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "on",
|
|
"name": "halt the event's bubbling stops propagation",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/on.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "reactive-properties",
|
|
"name": "setting a property on a plain object triggers reactivity",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/reactive-properties.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "reactive-properties",
|
|
"name": "nested property chain triggers on intermediate reassignment",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/reactive-properties.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "reactive-properties",
|
|
"name": "property change on DOM element triggers reactivity via setProperty",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/reactive-properties.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "reactive-properties",
|
|
"name": "live block tracks property reads on plain objects",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/reactive-properties.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "resize",
|
|
"name": "fires when element is resized",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/resize.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "resize",
|
|
"name": "provides height in detail",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/resize.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "resize",
|
|
"name": "works with from clause",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/resize.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can define variables with let at the element level",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/set.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "supports DOM-scoped (^) variables at the element level",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/set.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "rejects bare (local) variables at the feature level",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/set.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set an attribute at the feature level",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/set.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "can set an attribute from inside a behavior",
|
|
"complexity": "script-tag",
|
|
"status": "missing",
|
|
"block_reason": "needs-script-tag",
|
|
"upstream_file": "test/features/set.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "set",
|
|
"name": "global ($) variables are allowed at the feature level",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "added-post-snapshot",
|
|
"upstream_file": "test/features/set.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "parses socket with absolute ws:// URL",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "converts relative URL to wss:// on https pages",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "converts relative URL to ws:// on http pages",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "with timeout parses and uses the configured timeout",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "needs-websocket",
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "on message handler fires on incoming text message",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "needs-websocket",
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "on message as JSON handler decodes JSON payload",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "needs-websocket",
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "rpc proxy sends a message and resolves the reply",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "needs-websocket",
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "rpc proxy reply with throw rejects the promise",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "needs-websocket",
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "rpc proxy noTimeout avoids timeout rejection",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "needs-websocket",
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "rpc proxy timeout(n) rejects after a custom window",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "needs-websocket",
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "rpc proxy default timeout rejects the promise",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "needs-websocket",
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "rpc proxy blacklists then/catch/length/toJSON",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "needs-websocket",
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "dispatchEvent sends JSON-encoded event over the socket",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "needs-websocket",
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "rpc reconnects after the underlying socket closes",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "needs-websocket",
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "on message as JSON throws on non-JSON payload",
|
|
"complexity": "eval-only",
|
|
"status": "missing",
|
|
"block_reason": "needs-websocket",
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "socket",
|
|
"name": "namespaced sockets work",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/socket.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "provides access to `it` and syncs initial value",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "detects changes from $global variable",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "detects changes from :element variable",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "triggers multiple elements watching same variable",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "executes multiple commands",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "does not execute when variable is undefined initially",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "only triggers when variable actually changes value",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "auto-tracks compound expressions",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "detects attribute changes",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "detects form input value changes via user interaction",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "detects property change via hyperscript set",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "disposes effect when element is removed from DOM",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "batches multiple synchronous writes into one effect run",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "handles chained reactivity across elements",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "supports multiple when features on the same element",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "works with on handlers that modify the watched variable",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "does not cross-trigger on unrelated variable writes",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "handles rapid successive changes correctly",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "isolates element-scoped variables between elements",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "handles NaN without infinite re-firing",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "fires when either expression changes using or",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "supports three or more expressions with or",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "#element.checked is tracked",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "my @attr is tracked",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "value of #element is tracked",
|
|
"complexity": "simple",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "math on tracked symbols works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "comparison on tracked symbol works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "string template with tracked symbol works",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "function call on tracked value works (Math.round)",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "inline style change via JS is NOT detected",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "reassigning whole array IS detected",
|
|
"complexity": "run-eval",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "mutating array element in place is NOT detected",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "local variable in when expression produces a parse error",
|
|
"complexity": "eval-only",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "attribute observers are persistent (not recreated on re-run)",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "boolean short-circuit does not track unread branch",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "diamond: cascaded derived values produce correct final value",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "error in one effect does not break other effects in the same batch",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "circular guard resets after cascade settles",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "cross-microtask ping-pong is caught by circular guard",
|
|
"complexity": "promise",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "element moved in DOM retains reactivity",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "when",
|
|
"name": "rapid detach/reattach in same sync block does not kill effect",
|
|
"complexity": "evaluate",
|
|
"status": "runnable",
|
|
"block_reason": null,
|
|
"upstream_file": "test/features/when.js",
|
|
"in_our_json": true
|
|
},
|
|
{
|
|
"category": "worker",
|
|
"name": "raises a helpful error when the worker plugin is not installed",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/features/worker.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "htmx",
|
|
"name": "hyperscript responds to htmx swap events",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/integration/htmx.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "htmx",
|
|
"name": "hyperscript can trigger htmx requests via send",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/integration/htmx.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "htmx",
|
|
"name": "hyperscript works on htmx-swapped content",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/integration/htmx.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "htmx",
|
|
"name": "hyperscript can modify form values before htmx submit",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/integration/htmx.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "htmx",
|
|
"name": "hyperscript can cancel htmx request via halt",
|
|
"complexity": "promise",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/integration/htmx.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "htmx",
|
|
"name": "hyperscript responds to htmx:after:settle on target",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/integration/htmx.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "htmx",
|
|
"name": "hyperscript element-scoped vars persist across htmx swaps",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/integration/htmx.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "htmx",
|
|
"name": "hyperscript can react to htmx:after:request",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/integration/htmx.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "htmx",
|
|
"name": "htmx content added by hyperscript is processed and can issue requests",
|
|
"complexity": "simple",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/integration/htmx.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "can render correctly",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "can render",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "escapes html, with opt-out",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "supports repeat",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "supports if",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "supports nested operations",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "handles async expressions",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "async expressions in a loop resolve correctly",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "recovers from bad expression in ${}",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "recovers from unterminated ${}",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "good expressions still render alongside bad ones",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "multiple expressions on one line",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "expression with nested braces",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "null and undefined render as empty",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "empty template renders empty string",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "plain text with no expressions",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "blank lines are consumed as whitespace",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "renders into DOM element",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "expression with math",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "expression with function call",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "if false takes else branch",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "if with expression condition",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "for loop with index",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "for loop over empty array",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "all html entities escaped",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "null values render as empty string, not \"null\"",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "supports for...else with non-empty collection",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "supports for...else with empty collection",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "supports for...else with null collection",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "supports conditional expressions with if",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "supports conditional expressions with if (false condition)",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "supports conditional expressions with if...else",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "supports conditional expressions with complex expressions",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "supports conditional expressions in loops",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "supports continue in template for loops",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "supports break in template for loops",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "render into sets innerHTML of target element",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "render into with args",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "render here sets innerHTML of me",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "unscraped-category",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "render here with args",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "conditional with nested parens in value does not false-trigger on inner if",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "error inside for body is reported",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "content after for...else still renders",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "break prevents else clause from executing",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "error in top-level expression is reported",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "error in conditional expression is reported",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "multiple errors in one template are all reported",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
},
|
|
{
|
|
"category": "templates",
|
|
"name": "good expressions render despite errors in other expressions",
|
|
"complexity": "evaluate",
|
|
"status": "missing",
|
|
"block_reason": "needs-pattern:${}",
|
|
"upstream_file": "test/templates/templates.js",
|
|
"in_our_json": false
|
|
}
|
|
]
|