summaryrefslogtreecommitdiff
path: root/INTERPRETING.md
diff options
context:
space:
mode:
authorJeff Walden <jwalden@mit.edu>2017-10-19 12:03:21 -0700
committerLeo Balter <leonardo.balter@gmail.com>2017-10-19 15:03:21 -0400
commitc05138b44cbfa6fd012800a04d7ff24fa29d6540 (patch)
tree6e4ad6c475c89afa581549ef2a81d4e35d1ea9e9 /INTERPRETING.md
parent893013a658d7a98aca870873e0b0e3e9a29ced12 (diff)
downloadqtdeclarative-testsuites-c05138b44cbfa6fd012800a04d7ff24fa29d6540.tar.gz
Modify $262.uncallableAndIsHTMLDDA() to $262.IsHTMLDDA (#1305)
Modify $262.uncallableAndIsHTMLDDA() to an optional $262.IsHTMLDDA (whose use must be guarded by a feature of the same name), and narrowly/correctly prescribe its requirements consistent with `document.all`'s behavior in HTML.
Diffstat (limited to 'INTERPRETING.md')
-rw-r--r--INTERPRETING.md20
1 files changed, 10 insertions, 10 deletions
diff --git a/INTERPRETING.md b/INTERPRETING.md
index 7904eb710..54e541800 100644
--- a/INTERPRETING.md
+++ b/INTERPRETING.md
@@ -64,16 +64,16 @@ properties of the global scope prior to test execution.
6. Return Completion(status).
- **`global`** - a reference to the global object on which `$262` was initially defined
- - **`uncallableAndIsHTMLDDA`** - a function that returns an object *`obj`* for
- which [Call](https://tc39.github.io/ecma262/#sec-call)(*`obj`*, *any value*, «»)
- throws a `TypeError`. (The value of [IsCallable]()(*`obj`*) is unspecified:
- a callable *`obj`* that throws a `TypeError` or an uncallable *`obj`* works
- equally well.) In hosts supporting the
- [IsHTMLDDA](https://tc39.github.io/ecma262/#sec-IsHTMLDDA-internal-slot)
- internal slot, *`obj`* must also have such a slot. (These highly specific
- behaviors are entirely motivated by the very few tests that use this. Read
- them for an explanation.) Tests that use this function should be marked as
- using the `uncallableAndIsHTMLDDA` feature.
+ - **`IsHTMLDDA`** - (present only in implementations that can provide it) an
+ object that 1) has an [[IsHTMLDDA]] internal slot, and 2) when called with
+ no arguments or with the single argument `""` returns `null`. Use this
+ property to test that ECMAScript algorithms aren't mis-implemented to treat
+ `document.all` as being `undefined` or of type Undefined (instead of
+ Object). (The peculiar second requirement permits testing algorithms when
+ they also call `document.all` with such arguments, so that testing for
+ correct behavior requires knowing how the call behaves. This is rarely
+ necessary.) Tests using this function must be tagged with the `IsHTMLDDA`
+ feature so that only hosts supporting this property will run them.
- **`agent`** - an ordinary object with the following properties:
- **`start`** - a function that takes a script source string and runs
the script in a concurrent agent. Will block until that agent is